https://github.com/jesusbmx/react-native-pdf-page-image
Library to obtain the pages of a pdf in image format
https://github.com/jesusbmx/react-native-pdf-page-image
android image ios page pdf react-native thumbnail
Last synced: 10 months ago
JSON representation
Library to obtain the pages of a pdf in image format
- Host: GitHub
- URL: https://github.com/jesusbmx/react-native-pdf-page-image
- Owner: jesusbmx
- License: mit
- Created: 2023-09-12T17:32:58.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-09-30T17:42:09.000Z (over 1 year ago)
- Last Synced: 2025-04-21T08:09:32.371Z (about 1 year ago)
- Topics: android, image, ios, page, pdf, react-native, thumbnail
- Language: Swift
- Homepage:
- Size: 749 KB
- Stars: 11
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# react-native-pdf-page-image
This module enables React Native applications to generate images from PDF document pages. It uses PDFKit on iOS and PdfRenderer on Android to render PDF pages as images.
## Installation
```sh
npm install react-native-pdf-page-image
```
#### iOS
`$ cd ios & pod install`
## Usage
Importing the Module
```js
import PdfPageImage from 'react-native-pdf-page-image';
```
### Generating Images for All PDF Pages
You can generate images for all pages in a PDF document with the following method:
```js
const uri = "https://pdfobject.com/pdf/sample.pdf";
const scale = 1.0;
// Generate images from all pages
PdfPageImage.generateAllPages(uri, scale)
.then(images => images.forEach((image, index) => console.log(`Page ${index+1}: ${image.uri}, Width: ${image.width}, Height: ${image.height}`)))
.catch(error => console.error('Error generating images:', error));
```
### Generating an Image for a Specific Page
If you only need to generate an image for a single page, use the generate method:
```js
const uri = "https://pdfobject.com/pdf/sample.pdf";
const scale = 1.0;
// Generate an image from a specific page
PdfPageImage.generate(uri, 1, scale) // Example uses page number 1
.then(image => console.log(`Generated image: ${image.uri}, Width: ${image.width}, Height: ${image.height}`))
.catch(error => console.error('Error generating image:', error));
```
### Optional: Getting PDF Information
To open a PDF document and retrieve its information, use the open method:
```js
PdfPageImage.open(uri)
.then(info => console.log(`PDF opened with URI: ${info.uri}, Page count: ${info.pageCount}`))
.catch(error => console.error('Error opening PDF:', error));
```
### Optional: Closing the PDF Document
After processing, you can close the PDF document and delete any temporary files that were generated. Use the close method:
```js
PdfPageImage.close(uri)
.then(() => console.log('PDF closed successfully.'))
.catch(error => console.error('Error closing PDF:', error));
```
# API
`open(uri: string): Promise`
Opens a PDF document and returns its basic information.
- uri: Path to the PDF file.
`generate(uri: string, page: number, scale?: number): Promise`
Generates an image from a specific PDF page.
- uri: Path to the PDF file.
- page: Page number to render.
- scale: Scale of the generated image, optional
`generateAllPages(uri: string, scale?: number): Promise`
Generates images from all pages of the PDF document.
- uri: Path to the PDF file.
- scale: Scale of the generated images, optional.
`close(uri: string): Promise`
Clean up resources, deleting temporary files and closing connections..
- uri: Path to the PDF file that is currently open.
# Types
```typescript
type PdfInfo = {
uri: string;
pageCount: number;
};
type PageImage = {
uri: string;
width: number;
height: number;
};
```
## Contributing
See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
## License
MIT
---
Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)