Spaces:
Running
Running
/** | |
@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 | |
*/ | |