by paulovap

paulovap / qtpdfium

Pdf Redening on Qt

138 Stars 55 Forks Last release: Not found BSD 3-Clause "New" or "Revised" License 41 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


QtPdfium is a Qt module that renders PDF files using the pdfium project by google. It render PDF pages into QImage.


To use the library you must first install it in the same location as your Qt installation. Here is an example on Linux/Mac:

git clone --recursive https://github.com/paulovap/qtpdfium
cd qtpdfium
make install (might need sudo)

After that you are ready to use it. Remember to build for each platform you want. (Desktop, Android, iOS...)


The API consists in only two classes:


To load a PDF file, simply do: ```cpp


QPdfium pdf("mypdf.pdf"); qDebug() << pdf.isValid(); //should return true ```

You can get the number of pages with


You can access pages by index:


QPdfium pdf("mypdf.pdf"); QPdfiumPage page = pdf.page(0); qDebug() << page.width(); // should show something!

To generate the image:


QPdfium pdf("mypdf.pdf"); QPdfiumPage page = pdf.page(0); QImage image = page.image(3); //renders it 3 times bigger

And for extracting text:


QPdfium pdf("mypdf.pdf"); QPdfiumPage page = pdf.page(0); QString pageText = page.text();

Note: On iOS you need to initialize QtPdfium manually since it is statically linked. Just create a global object like this:

#ifdef Q_OS_IOS
    //Since it's static library on IOS we need to initialize it by hand
    PdfiumGlobal global;

And that's it.

Future work

  • Load pdf with encryption (passwords)
  • Text manipulation (find, extract, cursor..)
  • Partial rendering
  • Render to other devices (gl surface, so on..)


Feel free to help. :)



We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.