Skip to content

omimouni/use-pdf-renderer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

use-pdf-renderer

A React hook for rendering PDF files as images

npm version npm downloads license

Installation

npm install use-pdf-renderer pdfjs-dist 

Usage

import { usePdfRenderer } from 'use-pdf-renderer'; import 'pdfjs-dist/build/pdf.worker.min'; function PdfViewer() { const { images, loading, progress, error, renderPdf } = usePdfRenderer(); const handleFileChange = (event) => { const file = event.target.files?.[0]; if (file) { const url = URL.createObjectURL(file); renderPdf(url) .catch(console.error) .finally(() => URL.revokeObjectURL(url)); } }; return ( <div> <input type="file" accept=".pdf" onChange={handleFileChange} /> {loading && <div>Loading... {(progress * 100).toFixed(0)}%</div>} {error && <div>Error: {error.message}</div>} {images.map((image, index) => ( <img key={index} src={image} alt={`Page ${index + 1}`} style={{ maxWidth: '100%' }} /> ))} </div> ); }

API Reference

Options

Option Type Default Description
scale number 2 Scale factor for rendering
quality number 0.8 Image quality (0-1)
imageType 'png' | 'jpeg' 'png' Output format
withCredentials boolean false Send credentials with request

Return Values

Value Type Description
images string[] Array of rendered page images
loading boolean Loading state
progress number Progress (0-1)
error Error | null Error if any
renderPdf function Render PDF from URL
reset function Reset viewer state

License

MIT

Releases

No releases published

Packages

No packages published