| /** |
| @mainpage The Poppler Qt4 interface library |
| |
| The Poppler Qt4 interface library, libpoppler-qt4, is a library that |
| allows Qt4 programmers to easily load and render PDF files. The |
| Poppler Qt4 interface library uses poppler internally to do its job, |
| but the Qt4 programmer will never have to worry about poppler |
| internals. |
| |
| |
| @section help Current Status |
| |
| At the time this document was written (December '05) the Poppler Qt4 |
| interface library was still somewhat experimental. From the two |
| rendering engines offered by the library, only the splash engine works |
| well and has been tested. |
| |
| |
| @section refimpl Example Programs |
| |
| Examples programs can be found in the qt4/test directory. The poppler |
| Qt4 interface library is also used in the development version of KDE's |
| document viewer kviewshell. The source files for kviewshell's PDF |
| plugin can be found on the subversion server of the KDE project, under |
| <a |
| href="http://websvn.kde.org/trunk/KDE/kdegraphics/kviewshell/plugins/pdf">this |
| URL</a>. |
| |
| |
| @section req How to use the Poppler Qt4 interface library in three easy steps |
| |
| Programmer who would like to use the Poppler Qt4 interface library |
| simply need to add the following two lines to their C++ source files: |
| |
| @code |
| #define UNSTABLE_POPPLER_QT4 |
| #include <poppler-qt4.h> |
| @endcode |
| |
| The #define statement is required at the moment. You indicate that you |
| think you know what you are doing, and understand that the API is |
| subject to change. |
| |
| A PDF document can then be loaded as follows. |
| @code |
| QString filename; |
| |
| Poppler::Document* document = Poppler::Document::load(filename.ascii()); |
| if (!document || document->isLocked()) { |
| |
| ... error message .... |
| |
| delete document; |
| return; |
| } |
| @endcode |
| |
| Pages can be rendered to QPixmaps 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 QPixmap of the rendered page |
| QPixmap* pixmap = pdfPage->splashRenderToPixmap(0, 0, 0, 0, xres, yres ); |
| if (pixmap == 0) { |
| ... error message ... |
| return; |
| } |
| |
| ... use pixmap ... |
| |
| delete pixmap; |
| @endcode |
| |
| Finally, don't forget to destroy the document. |
| |
| @code |
| delete document; |
| @endcode |
| */ |
| |