Easily generate PDF files from images in React Native.
npm install react-native-images-to-pdf
Easily generate PDF files from images in React Native.
| iOS | Android |
|
|
``sh`
npm install react-native-images-to-pdf
or
`sh`
yarn add react-native-images-to-pdf
Run pod install in the ios directory.
`javascript
import { createPdf } from 'react-native-images-to-pdf';
import RNBlobUtil from 'react-native-blob-util';
const options = {
pages: [
{ imagePath: '/path/to/image1.jpg' },
{ imagePath: '/path/to/image2.jpg' }
],
outputPath: file://${RNBlobUtil.fs.dirs.DocumentDir}/file.pdf,
};
createPdf(options)
.then((path) => console.log(PDF created successfully: ${path}))Failed to create PDF: ${error}
.catch((error) => console.log());`
This example is using react-native-blob-util to get a valid outputPath, but you can choose any other library to achieve the same functionality.
`javascript
import { createPdf } from 'react-native-images-to-pdf';
import DocumentScanner from 'react-native-document-scanner-plugin';
DocumentScanner.scanDocument()
.then(({scannedImages}) => {
if (!scannedImages?.length) {
throw new Error('No images scanned');
}
return createPdf({
pages: scannedImages.map(imagePath => ({ imagePath })),
outputPath: file:///path/to/output/file.pdf,PDF created successfully: ${path}
});
})
.then(path => console.log())Failed to create PDF: ${error}
.catch(error => console.log());`
Returns a Promise that resolves to a string representing the output path of the generated PDF file.
#### CreatePdfOptions
| Property | Type | Description |
| ------------ | ----------------------- | ----------------------------------------- |
| pages | Page[] | Pages that should be included in the PDF. |outputPath
| | string | The path to the output PDF file. |
#### Valid outputPath
| Usage | Description | iOS | Android |
| ---------------------------------- | ------------------------------ | --- | ------- |
| file:///absolute/path/to/xxx.pdf | Save PDF to local file system. | ✓ | ✓ |
| Property | Type | Required | Default | Description |
| ----------------- | ---------- | -------- | ------------ | ---------------------------------------------------------------------------------- |
| imagePath | string | ✓ | | Path to the image file. |imageFit
| | ImageFit | | 'none' | Image fitting option. Possible values: 'none', 'fill', 'contain', 'cover'. |width
| | number | | Image width | Width of the page in pixels. |height
| | number | | Image height | Height of the page in pixels. |backgroundColor
| | string | | 'white' | Background color of the page. |
#### Valid imagePath
| Usage | Description | iOS | Android |
| ------------------------------------ | ---------------------------------- | --- | ------- |
| file:///absolute/path/to/image.xxx | Load image from local file system. | ✓ | ✓ |data:image/xxx;base64,iVBORw...
| | Load image from base64 string. | ✓ | ✓ |
Check the example` folder for a usage demo.
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT
---
Made with create-react-native-library