Просмотр 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-файлов:
  1. Создайте JFrame, в которую будет добавлено средство просмотра Acrobat;
  2. Create Viewer (класс  java.awt.Component)  , чтобы просмотреть PDF-файл и добавить его в JFrame:
    • Viewer viewer = new Viewer();
    • frame.add(viewer, BorderLayout.CENTER);
    1. Select Document
      • FileInputStream fis = new FileInputStream(имя файла);
      1. Define FileInputStream  в качестве аргумента в viewer:
        • viewer.setDocumentInputStream(fis);
        1. Создайте макет, в котором будет отображаться документ:
          • 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);
        }
        }
        Просмотр PDF-файла в Java с помощью acrobat viewer

        Получить количество страниц и текущую страницу

        Номер страницы и текущая страница получаются следующими методами: 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