react-native-pdf-lib
Getting started
$ npm install react-native-pdf-lib --save
Mostly automatic installation
$ react-native link react-native-pdf-lib
- For Android, add the following to your app's
build.gradle
file:
android {
...
dexOptions {
jumboMode = true
}
...
}
Manual installation
iOS
- In XCode, in the project navigator, right click
Libraries
➜ Add Files to [your project's name]
- Go to
node_modules
➜ react-native-pdf-lib
and add RNPdfLib.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNPdfLib.a
to your project's Build Phases
➜ Link Binary With Libraries
- Run your project (
Cmd+R
)<
Android
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import com.reactlibrary.PdfLibPackage;
to the imports at the top of the file - Add
new PdfLibPackage()
to the list returned by the getPackages()
method
- Append the following lines to
android/settings.gradle
:
include ':react-native-pdf-lib'
project(':react-native-pdf-lib').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-pdf-lib/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:
compile project(':react-native-pdf-lib')
- For Android, add the following to your app's
build.gradle
file:
android {
...
// Add this section:
dexOptions {
jumboMode = true
}
...
}
Usage
Warning:
The API is currently in active development, and all aspects of it are subject to breaking changes in future releases.
import PDFLib, { PDFDocument, PDFPage } from 'react-native-pdf-lib';
const page1 = PDFPage
.create()
.setMediaBox(200, 200)
.addText('You can add text and rectangles to the PDF!', {
color: '#007386',
position: { x: 5, y: 235 },
})
.addRectangle(25, 25, 150, 150, { color: '#FF99CC' })
.addRectangle(50, 50, 100, 100, { color: '#33CCFF' })
.addRectangle(75, 75, 50, 50, { color: '#99FFCC' });
const jpgPath =
const page2 = PDFPage
.create()
.setMediaBox(250, 250)
.addText('You can add JPG images too!')
.addImage(jpgPath, 'jpg', {
x: 5,
y: 125,
width: 200,
height: 100,
});
const docsDir = await PDFLib.getDocumentsDir();
const pdfPath = `${docsDir}/sample.pdf`;
PDFDocument
.create(path)
.addPages(page1, page2)
.write()
.then(path => {
console.log('PDF created at: ' + path);
});