/** @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 Okular. The source files for Okular's PDF plugin (%Poppler-based) can be found on the git server of the KDE project, under this URL. @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 @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; std::unique_ptr document = Poppler::Document::load(filename); if (!document || document->isLocked()) { // ... error message .... return; } @endcode Pages can be rendered to QImages with the following commands: @code // Paranoid safety check if (!document) { // ... error message ... return; } // Access page of the PDF file std::unique_ptr pdfPage = document->page(pageNumber); // Document starts at page 0 if (!pdfPage) { // ... 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 @endcode Finally, don't forget to destroy the document: @code delete document; @endcode */