| /** |
| @mainpage The Poppler Qt6 interface library |
| |
| The %Poppler Qt6 interface library, libpoppler-qt6, is a library that |
| allows Qt6 programmers to easily load and render PDF files. The |
| %Poppler Qt6 interface library uses poppler internally to do its job, |
| but the Qt6 programmer will never have to worry about poppler |
| internals. |
| |
| |
| @section help Current Status |
| |
| The %Poppler Qt6 interface library is quite stable and working. |
| |
| @section refimpl Example Programs |
| |
| Examples programs can be found in the qt6/test directory. The %Poppler |
| Qt6 interface library is also used in the KDE's |
| document viewer <a href="http://okular.kde.org">Okular</a>. The source files |
| for Okular's PDF plugin (%Poppler-based) can be found on the git server |
| of the KDE project, under |
| <a |
| href="http://quickgit.kde.org/?p=okular.git&a=tree&f=generators/poppler">this |
| URL</a>. |
| |
| |
| @section req How to use the Poppler Qt6 interface library in three easy steps |
| |
| Programmer who would like to use the %Poppler Qt6 interface library |
| simply need to add the following line to their C++ source files: |
| |
| @code |
| #include <poppler-qt6.h> |
| @endcode |
| |
| |
| For using the Qt6 interface on Android, there is an additional step - you must place the following font files in the assets/share/fonts directory of the Android APK: |
| |
| - NimbusMonoPS-Regular.otf |
| - NimbusMonoPS-Bold.otf |
| - NimbusMonoPS-BoldItalic.otf |
| - NimbusMonoPS-Italic.otf |
| - NimbusSans-Regular.otf |
| - NimbusSans-Bold.otf |
| - NimbusSans-BoldItalic.otf |
| - NimbusSans-Italic.otf |
| - StandardSymbolsPS.otf |
| - NimbusRoman-Bold.otf |
| - imbusRoman-BoldItalic.otf |
| - NimbusRoman-Italic.otf |
| - NimbusRoman-Regular.otf |
| - D050000L.otf |
| |
| These are used as substitute fonts for the base-14 fonts, and this step is required in order to reliably display documents with unembedded fonts. You can easily find these font files included within GhostScript. |
| |
| A PDF document can then be loaded as follows: |
| @code |
| QString filename; |
| |
| Poppler::Document* document = Poppler::Document::load(filename); |
| if (!document || document->isLocked()) { |
| |
| // ... error message .... |
| |
| delete document; |
| return; |
| } |
| @endcode |
| |
| Pages can be rendered to QImages with the following commands: |
| |
| @code |
| // Paranoid safety check |
| if (document == 0) { |
| // ... error message ... |
| return; |
| } |
| |
| // Access page of the PDF file |
| Poppler::Page* pdfPage = document->page(pageNumber); // Document starts at page 0 |
| if (pdfPage == 0) { |
| // ... error message ... |
| return; |
| } |
| |
| // Generate a QImage of the rendered page |
| QImage image = pdfPage->renderToImage(xres, yres, x, y, width, height); |
| if (image.isNull()) { |
| // ... error message ... |
| return; |
| } |
| |
| // ... use image ... |
| |
| // after the usage, the page must be deleted |
| delete pdfPage; |
| @endcode |
| |
| Finally, don't forget to destroy the document: |
| |
| @code |
| delete document; |
| @endcode |
| */ |
| |