Skip to content

paulocoutinhox/pdfium-lib

Repository files navigation

PDFium Library Logo

PDFium Library

PDFium - iOS PDFium - macOS PDFium - Android PDFium - WASM

Project to compile PDFium library to multiple platforms.


Platforms

This project currently compiles to these platforms:

  • iOS device (arm64)
  • iOS simulator (x86_64, arm64)
  • Android (armv7, armv8, x86, x86_64)
  • macOS (x86_64, arm64)
  • WASM (Web Assembly)

Platforms in roadmap:

  • Linux
  • Windows

Obs: PDFium project is from Google and i only patch it to compile to all platforms above. Check all oficial details and PDFium license here:

https://pdfium.googlesource.com/

Web demo

Since this project generate WASM version, i published a demo that you can test PDFium direct on web browser here:

https://pdfviewer.github.io

Or with a public PDF as parameter:

https://pdfviewer.github.io/?title=Demo%20PDF%20with%201MB&url=https://raw.githubusercontent.com/mozilla/pdf.js-sample-files/master/tracemonkey.pdf

Requirements

  1. Ninja Build
  2. Python 3
  3. PIP

Obs: Generally Python 3 already come with PIP installed. Check it with command python3 -m pip --version.

How to compile

These are the general steps that need be executed before all others platforms steps.

  1. Get the source:
git clone https://github.com/paulocoutinhox/pdfium-lib.git
cd pdfium-lib
  1. Install PIP requirements:
python3 -m pip install -r requirements.txt
  1. Get Google Depot Tools:
python3 make.py build-depot-tools
export PATH=$PATH:$PWD/build/depot-tools

Obs:

  • The file make.py need be executed with Python version 3.
  • These steps you only need make one time.
  • If you want change pdfium git branch, edit file modules/config.py and others places with same branch name.

How to compile for iOS

Check tutorial here: Build for iOS

How to compile for macOS (with Apple Silicon - M1)

Check tutorial here: Build for macOS

How to compile for Android

Check tutorial here: Build for Android

How to compile for WASM

Check tutorial here: Build for WASM

Prebuilt binary

Access releases page to download prebuilt binaries:

https://github.com/paulocoutinhox/pdfium-lib/releases

How to include files and extend pdfium

Check tutorial here: How to include files

Buy me a coffee

Support the continuous development of this project.

Buy Me a Coffee at ko-fi.com

My other projects

License

This license informations is about this personal project, not the Google PDFium Library.

MIT

Copyright (c) 2018-2024, Paulo Coutinho