Skip to content

📰 Binary distribution of PDFium

Notifications You must be signed in to change notification settings

mara004/pdfium-binaries

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PDFium binaries

Pre-compiled binaries of PDFium

Patches Total downloads Latest release Nuget

This project hosts pre-compiled binaries of the PDFium library, an open-source library for PDF manipulation and rendering.

Builds are triggered automatically every Monday since 2017.

Disclaimer: This project isn't affiliated with Google or Foxit.

Download

Here are the download links for latest release:

OS CPU PDFium
Android arm pdfium-android-arm.tgz
arm64 pdfium-android-arm64.tgz
x64 pdfium-android-x64.tgz
x86 pdfium-android-x86.tgz
iOS arm64 pdfium-ios-arm64.tgz
x64 pdfium-ios-x64.tgz
Linux arm pdfium-linux-arm.tgz
arm64 pdfium-linux-arm64.tgz
x64 pdfium-linux-x64.tgz
x86 pdfium-linux-x86.tgz
Linux
musl
x64 pdfium-linux-musl-x64.tgz
x86 pdfium-linux-musl-x86.tgz
macOS arm64 pdfium-mac-arm64.tgz
x64 pdfium-mac-x64.tgz
Windows arm64 pdfium-win-arm64.tgz
x64 pdfium-win-x64.tgz
x86 pdfium-win-x86.tgz
WebAssembly1 pdfium-wasm.tgz

1: WebAssembly build is experimental; please provide feedback.

See the Releases page to download older versions of PDFium.

NuGet Packages

The following NuGet packages are available:

OS NuGet package
All (meta package) bblanchon.PDFium
Android bblanchon.PDFium.Android
iOS bblanchon.PDFium.iOS
Linux bblanchon.PDFium.Linux
macOS bblanchon.PDFium.macOS
Windows bblanchon.PDFium.Win32

HELP WANTED!
I can provide packages for your favorite package manager, but I need help from someone who knows the format. Contact me via the GitHub issues if you wanna help.

Documentation

PDFium API documentation

Please find the documentation of the PDFium API on developers.foxit.com.

How to use PDFium in a CMake project

  1. Unzip the dpwnloaded package in a folder (e.g., C:\Libraries\pdfium)

  2. Set the environment variable PDFium_DIR to this folder (eg C:\Libraries\pdfium)

  3. In your CMakeLists.txt, add

     find_package(PDFium)
    
  4. Then link your executable with PDFium:

     target_link_libraries(my_exe pdfium)
    
  5. On Windows, make sure that pdfium.dll can be found by your executable (copy it on the same folder, or put in on the PATH).

How to use JavaScript V8 enabled binaries

If you are using the V8-enabled binaries, additional initialization is required. In your code, before using PDFium you have to call FPDF_InitEmbeddedLibraries() from the additional header fpdf_libs.h, which is only available in V8 enabled binaries.

The archive will contain a res folder which you have to distribute with your application. On macOS, you should include this in your application bundle for other platforms place it where your application binary will find it.

See the following example for usage:

#include "fpdf_libs.h"

...

// Determine the path to files in the res folder from the archive
const char* resPath = "<path to the res folder>";

// Initialize V8 and other embedded libraries
FPDF_InitEmbeddedLibraries(resPath);

// Make use of PDFium
FPDF_InitLibrary();
FPDF_DestroyLibrary();

How to create macOS universal binary

To create a universal macOS binary containing both Intel and ARM code, download both CPU versions and use the mac_create_universal.sh script to create a universal archive.

Related projects

The following project use (or recommend using) our PDFium builds:

  • dart_pdf, PDF creation module for dart/flutter
  • Flutter native_pdf_renderer, Flutter Plugin to render PDF pages as images
  • go-pdfium, a Go wrapper around PDFium with helper functions for various methods like image rendering and text extraction
  • PDFium RS, a Rust wrapper around PDFium
  • PDFiumCore, .NET Standard P/Invoke bindings for PDFium
  • PDFtoImage, .NET library to render PDF content into images
  • PyPDFium2, Python bindings to PDFium
  • wxPDFView, wxWidgets components to display PDF content

Did we miss a project? Please open a PR!

Contributors

David Sungaila, @sungaila:

  • NuGet packages

Christoffer Green, @ChristofferGreen:

  • Linux ARM build

Tobias Taschner, @TcT2k:

  • macOS build
  • V8 build

About

📰 Binary distribution of PDFium

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 84.5%
  • CMake 14.8%
  • C 0.7%