Просмотр PDF-файла с помощью JavaBean API средства просмотра Acrobat
К счастью, компания Acrobat разработала API для просмотра PDF-документа в формате Java. Acrobat Viewer позволяет открывать и печатать PDF-файлы из Java-приложения, JavaBean или Java-апплетов. В этом руководстве мы собираемся интегрировать средство просмотра Acrobat в наше приложение, созданное с помощью JFrame.The api Программа просмотра Acrobat доступна в http://www.java2s.com/Code/JarDownload/acrobat/acrobat-1.1.jar.zip. Загрузите его и извлеките Acrobat.jar файл в свой проект, затем импортируйте библиотеку в Eclipse IDE или Netbeans.
Итак, как открыть PDF-файл? Java Beans API предоставляет простые и удобные для просмотра шаги для просмотра PDF-документа в Java-приложении. Ниже приведены шаги по созданию программы для чтения PDF-файлов:
- Создайте JFrame, в которую будет добавлено средство просмотра Acrobat;
- Create Viewer (класс java.awt.Component) , чтобы просмотреть PDF-файл и добавить его в JFrame:
- Viewer viewer = new Viewer();
- frame.add(viewer, BorderLayout.CENTER);
- Select Document
- FileInputStream fis = new FileInputStream(имя файла);
- Define FileInputStream в качестве аргумента в viewer:
- viewer.setDocumentInputStream(fis);
- Создайте макет, в котором будет отображаться документ:
- viewer.activate();
Путь к файлу также может быть указан методом:
setDocumentURL(java.lang.String url)
Example:
import java.awt.BorderLayout;
import java.io.FileInputStream;
import javax.swing.JFrame;
import javax.swing.JPanel;
import com.adobe.acrobat.Viewer;
/*
* www.codeurjava.com
*/
public class readerPDF extends JPanel{
private Viewer viewer;
public readerPDF(String, filename) выбрасывает Exception{
this.setLayout(new BorderLayout());
//создаем средство просмотра, которое будет использоваться для отображения содержимого pdf
viewer = new Viewer();
this.add(viewer, BorderLayout.CENTER);
FileInputStream fis = new FileInputStream(имя файла);
viewer.setDocumentInputStream(fis);
viewer.activate();
}
public static void main(String[] args) throws Exception {
String filename = "delphi.pdf";
readerPDF reader = новый readerPDF(имя файла);
//создаем JFrame
JFrame f = new JFrame("PDF Reader");
f.setSize(1024,768);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
f.getContentPane().add(drive);
}
}
Получить количество страниц и текущую страницу
Номер страницы и текущая страница получаются следующими методами: getPageCount() и getCurrentPage(). Например, мы хотим отобразить общее количество страниц и номер текущей страницы:System.out.println("Количество страниц: "+viewer.getPageCount());
System.out.println("Текущая страница: "+viewer.getCurrentPage());
Количество страниц: 50
Текущая страница: 0
Change Zoom
Чтобы настроить масштаб текущей страницы, используйте метод zoomTo(double). Масштаб 100% соответствует 1.0 в методе zoomTo().
viewer.zoomTo(0.5);
Получить заголовок PDF в Java
Заголовок получается с помощью getTitle()
PDFBookmark bookmark=viewer.getRootBookmark();
String title=bookmark.getTitle();
Reference