• Stars
    star
    847
  • Rank 53,812 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created over 6 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PDFium - Project to compile PDFium library to multiple platforms.

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 change pdfium git commit revision, edit file modules/config.py and execute step 4.

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-2023, Paulo Coutinho

More Repositories

1

JoystickCocos2D-X

Small example to use virtual Joystick with Cocos2D-X version 3
C++
35
star
2

goci

Simple continuous integration system
Go
29
star
3

rvplayer

RVPlayer - This is a sample project that shows how to use ExoPlayer inside RecyclerView with multiple view holders
Kotlin
23
star
4

fabric-upload-dsym

Crashlytics from Fabric upload DSYM tool
Go
20
star
5

gohc

Healthcheck system in Golang
Go
18
star
6

PHPDefaultProject

This is a default project using Yii that come with full customer management, an admin, migrations and base for future advanced features for a brand new website
PHP
13
star
7

evangel-playerio

Flash MMO game engine made with AS3, Flashpunk and PlayerIO
ActionScript
11
star
8

cocos2d-x

Cocos2d-x Extensions Classes
11
star
9

go-tor-crawler

Go
6
star
10

kaktos

Kaktos is a python static site generator
HTML
6
star
11

cef-sample

C++
6
star
12

pyinstaller-sample

Python
5
star
13

jira-to-pdf

This is a small tool to export JIRA issues to PDF.
Go
5
star
14

logstack

LogStack is a simple log repository made with Go (Golang)
JavaScript
5
star
15

y2aa

Y2AA - Yii 2 Advanced App Template
PHP
4
star
16

evangel-red5

Flash MMO game engine made with AS3, Flashpunk and Red5
ActionScript
4
star
17

go-electron

JavaScript
4
star
18

gowebresponse

Go
3
star
19

native-kit

C++
3
star
20

sfml-cmake

Build a SFML project with CMake
C++
3
star
21

firedash

Dashboards for general purposes with batteries included
Vue
3
star
22

android-share-story

Kotlin
2
star
23

epubreader

EPub Reader (server with c++ code and visible in browser) - Ready to mobile too
JavaScript
2
star
24

angular-starter-project

Starter project for Angular using Webpack and more
JavaScript
2
star
25

solodefender

Jogo feito com a biblioteca SFML e a linguagem C++
C++
2
star
26

prduino

Complete C++ Library For Arduino
C++
2
star
27

axmol-extensions

Axmol Extensions
C++
2
star
28

golandy-server

Go
2
star
29

clean-emails

This is a script to clean a file with a list of invalid or wrong emails
PHP
1
star
30

python-load-module

Python load module test
Python
1
star
31

jrprintpreview

JasperReport print preview with JavaFX
Java
1
star
32

pygemstones

PyGemstones - Python package that group a lot of classes and functions that help software development
Python
1
star
33

gcc-for-arm

GCC to run on Android (ARM)
Shell
1
star
34

gowaze

Go
1
star
35

pybind11-test

Python
1
star
36

WebRemoteLog-Go

WebRemoteLog-Go
JavaScript
1
star
37

st-message

TypeScript
1
star
38

golandy-web

JavaScript
1
star
39

gotslist

Golang list with thread safe implementation
Go
1
star
40

RebecaEster

Small game example using Cocos2d-X and Physics
C++
1
star
41

godiffexporter

Go
1
star
42

bossa-mobile

Project BOSSA for mobile
C++
1
star
43

llama-flutter

C++
1
star
44

device-monitor

Go
1
star
45

sfml-project

Projeto SFML Base Com QtCreator
C++
1
star
46

firebase

Firebase with carthage test
Swift
1
star
47

nativium-nanogui

HTML
1
star
48

axmol-bomb-test

C++
1
star
49

axmol-game-demo

C++
1
star
50

godot-samples

GDScript
1
star