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.
Current Status
The Poppler Qt6 interface library is quite stable and working.
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.
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:
A PDF document can then be loaded as follows:
QString filename;
if (!document || document->
isLocked()) {
delete document;
return;
}
PDF document.
Definition: poppler-qt6.h:1053
static std::unique_ptr< Document > load(const QString &filePath, const QByteArray &ownerPassword=QByteArray(), const QByteArray &userPassword=QByteArray())
Load the document from a file on disk.
bool isLocked() const
Determine if the document is locked.
Pages can be rendered to QImages with the following commands:
if (document == 0) {
return;
}
if (pdfPage == 0) {
return;
}
QImage image = pdfPage->
renderToImage(xres, yres, x, y, width, height);
if (image.isNull()) {
return;
}
delete pdfPage;
std::unique_ptr< Page > page(int index) const
Get a specified Page.
A page in a document.
Definition: poppler-qt6.h:422
QImage renderToImage(double xres=72.0, double yres=72.0, int x=-1, int y=-1, int w=-1, int h=-1, Rotation rotate=Rotate0) const
Render the page to a QImage using the current Document renderer.
Finally, don't forget to destroy the document: