🌐
React-pdf
react-pdf.org › components
React-pdf
A React component for displaying network or local (Node only) JPG or PNG images, as well as base64 encoded image strings.
🌐
CodeSandbox
codesandbox.io › examples › package › @react-pdf › image
react-pdf/image examples
Use this online @react-pdf/image playground to view and fork @react-pdf/image example apps and templates on CodeSandbox.
🌐
npm
npmjs.com › package › @react-pdf › image
react-pdf/image
npm i @react-pdf/image · github.com/diegomura/react-pdf · github.com/diegomura/react-pdf#readme · 971,936 · 3.0.3 · MIT · 69.8 kB · 5 · 7 months ago · Try on RunKit ·
      » npm install @react-pdf/image
    
Published   Mar 03, 2025
Version   3.0.3
Author   Diego Muracciole
🌐
GitHub
github.com › wojtekmaj › react-pdf
GitHub - wojtekmaj/react-pdf: Display PDFs in your React app as easily as if they were images.
Display PDFs in your React app as easily as if they were images. - wojtekmaj/react-pdf
Starred by 10.7K users
Forked by 981 users
Languages   TypeScript 94.3% | CSS 5.6% | HTML 0.1%
🌐
CodeSandbox
codesandbox.io › examples › package › react-pdf-to-image
react-pdf-to-image examples - CodeSandbox
Use this online react-pdf-to-image playground to view and fork react-pdf-to-image example apps and templates on CodeSandbox.
🌐
Stack Overflow
stackoverflow.com › questions › 78587769 › how-to-display-an-image-only-on-the-first-page-using-react-pdf-renderer
reactjs - How to Display an Image Only on the First Page Using @react-pdf/renderer? - Stack Overflow
But if you want an image or any other element to bring to the every page, then you have to use fixed property on the element like <Image src="/example.png" fixed/> ... import { Document, Page, Text, View, StyleSheet, pdf, Image } from ...
🌐
CodeSandbox
codesandbox.io › examples › package › react-pdf
react-pdf examples - CodeSandbox
reactReact example starter project · pdf-viwer · pdf-reader · pdf-view · coolenginner/pdf-edit-react · pdf-sign · react-doc-viewerDocument viewer for react. Renders online/local documents. react-pdf-react-pageflip · react-pdf-sample-forked-displaying-pdf-using-react · harshmehta813/portfolio · react-pdf-legacy · wojtekmaj · react-image-crop-demo-with-react-hooks ·
🌐
npm
npmjs.com › package › react-pdf-to-image
react-pdf-to-image - npm
import React from 'react'; import {PDFtoIMG} from 'react-pdf-to-image'; import file from './pdf-sample.pdf'; const App = () => <div> <PDFtoIMG file={file}> {({pages}) => { if (!pages.length) return 'Loading...'; return pages.map((page, index)=> <img key={index} src={page}/> ); }} </PDFtoIMG> </div> export default App;
      » npm install react-pdf-to-image
    
Published   Dec 01, 2018
Version   1.0.2
Author   Marc Aaron Glasser
🌐
npm
npmjs.com › package › react-pdf
react-pdf - npm
Display PDFs in your React app as easily as if they were images.. Latest version: 10.2.0, last published: 2 months ago. Start using react-pdf in your project by running `npm i react-pdf`. There are 985 other projects in the npm registry using react-pdf.
      » npm install react-pdf
    
Published   Oct 09, 2025
Version   10.2.0
Author   Wojciech Maj
Find elsewhere
🌐
GitHub
github.com › diegomura › react-pdf › issues › 1736
Image not rendering in react-pdf? · Issue #1736 · diegomura/react-pdf
March 2, 2022 - I am using react-pdf. I write one component Named MyDoc- <Document> <Page size="A4"> <View style={styles.Header}> <Image style={styles.image} src="https://jobsicle.org/images/jobseekers/16462432893850.jpg" cache={false} /> <View style={styles.profileNameContainer}> <Text style={styles.profileName}>Jannat</Text> <View style={styles.profileDivider} /> <Text style={styles.profileJob}>Full Stack Developer</Text> </View> </View> </Page> </Document> Here I am facing problem with rendering image.
Published   Mar 02, 2022
🌐
GitHub
github.com › marcaaron › react-pdf-to-image
GitHub - marcaaron/react-pdf-to-image: Render prop component that turns PDF files into image data URLs
import React from 'react'; import {PDFtoIMG} from 'react-pdf-to-image'; import file from './pdf-sample.pdf'; const App = () => <div> <PDFtoIMG file={file}> {({pages}) => { if (!pages.length) return 'Loading...'; return pages.map((page, index)=> <img key={index} src={page}/> ); }} </PDFtoIMG> </div> export default App;
Starred by 10 users
Forked by 4 users
Languages   JavaScript
🌐
Medium
medium.com › @charanvinaynarni › pdf-to-image-conversion-using-reactjs-fd250a25bf05
PDF to Image conversion using Reactjs | by Charan vinay Narni | Medium
April 16, 2023 - Display the images and allow users to download or share them. ... import React, { useState } from "react"; import "./App.css"; import { Grid } from "@mui/material"; import FileInput from "./Components/file-input"; import FileConverter from "./Components/file-converter"; export const primary = "#176ede"; function App() { const [pdfFile, setPdfFile] = useState(null); return ( <div style={{ height: "100dvh" }}> <Grid container className="d-flex" sx={{ py: 6, px: 4 }}> <Grid item className="box"> <FileInput onFileChange={(file) => setPdfFile(file)} /> </Grid> {pdfFile && ( <Grid item sx={{ width: "100%" }}> <FileConverter pdfUrl={URL.createObjectURL(pdfFile)} fileName={pdfFile.name} /> </Grid> )} </Grid> </div> ); } export default App;
🌐
GeeksforGeeks
geeksforgeeks.org › reactjs › how-to-display-a-pdf-as-an-image-in-react-app-using-url
How to display a PDF as an image in React app using URL? - GeeksforGeeks
July 23, 2025 - Pdf.js: Now open the PDF component. ... import React, { useState } from 'react'; import { Document, Page,pdfjs } from 'react-pdf'; import './pdf.css' //PDFjs worker from an external cdn const url = "https://cors-anywhere.herokuapp.com/corsdemo" export default function Test() { pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`; const [numPages, setNumPages] = useState(null); const [pageNumber, setPageNumber] = useState(1); function onDocumentLoadSuccess({ numPages }) { setNumPages(numPages); setPageNumber(1); } return ( <> <div className="main"> <Document file={url} onLoadSuccess={onDocumentLoadSuccess} > <Page pageNumber={pageNumber} /> </Document> </div> </> ); }
Top answer
1 of 4
6

I created a helper function: convertPdfToImages which takes in the pdf file and returns an array of images encoded in base64, using the pdfjs package.

npm install pdfjs-dist -S

const PDFJS = require("pdfjs-dist/webpack");

const readFileData = (file) => {
  return new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.onload = (e) => {
      resolve(e.target.result);
    };
    reader.onerror = (err) => {
      reject(err);
    };
    reader.readAsDataURL(file);
  });
};

//param: file -> the input file (e.g. event.target.files[0])
//return: images -> an array of images encoded in base64 
const convertPdfToImages = async (file) => {
  const images = [];
  const data = await readFileData(file);
  const pdf = await PDFJS.getDocument(data).promise;
  const canvas = document.createElement("canvas");
  for (let i = 0; i < pdf.numPages; i++) {
    const page = await pdf.getPage(i + 1);
    const viewport = page.getViewport({ scale: 1 });
    const context = canvas.getContext("2d");
    canvas.height = viewport.height;
    canvas.width = viewport.width;
    await page.render({ canvasContext: context, viewport: viewport }).promise;
    images.append(canvas.toDataURL());
  }
  canvas.remove();
  return images;
}
2 of 4
5

Please use this library

https://www.npmjs.com/package/react-pdf-to-image

It is pretty straight forward. It will return the list of images (each page in the pdf as one image)

import React from 'react';
import {PDFtoIMG} from 'react-pdf-to-image';
import file from './pdf-sample.pdf';

const App = () =>
    <div>
        <PDFtoIMG file={file}>
            {({pages}) => {
                if (!pages.length) return 'Loading...';
                return pages.map((page, index)=>
                    <img key={index} src={page}/>
                );
            }}
        </PDFtoIMG>
    </div>

export default App;

if you want to just download the each pdf page as image instead of component please follow below code

import PDFJS from 'pdfjs-dist/webpack';

this is the dependency library for react-pdf-to-image. Then read the pdf file(I'm giving base64 as input)

PDFJS.getDocument(blob).promise.then(pdf => {
     const pages = [];
     this.pdf = pdf;
     for (let i = 0; i < this.pdf.numPages; i++) {
         this.getPage(i + 1).then(result => {
         // the result is the base 64 version of image
     });
   }
})

after reading each page, read each page as image from getPage method as below

getPage = (num) => {
    return new Promise((resolve, reject) => {
        this.pdf.getPage(num).then(page => {
            const scale = "1.5";
            const viewport = page.getViewport({
                scale: scale
            });
            const canvas = document.createElement('canvas');
            const canvasContext = canvas.getContext('2d');
            canvas.height = viewport.height || viewport.viewBox[3]; /* viewport.height is NaN */
            canvas.width = viewport.width || viewport.viewBox[2];  /* viewport.width is also NaN */
            page.render({
                canvasContext, viewport
            }).promise.then((res) => {
                resolve(canvas.toDataURL());
            })
        })
    })
}
🌐
React-pdf
v1.react-pdf.org › components
React-pdf
A React component for displaying network or local (Node only) JPG or PNG images, as well as base64 encoded image strings.
🌐
Cloudinary
cloudinary.com › home › convert images to pdf files with react-to-pdf
How to Use the React to PDF Converter for Images
June 8, 2023 - In this article, we looked at the image to PDF React converter that allows you to convert images into a PDF document on the fly using the react-to-pdf library (within the react to pdf converter tool). We rendered a grid of images for our demonstration, which we eventually converted to a PDF document.
🌐
DEV Community
dev.to › logrocket › generating-pdfs-in-react-with-react-pdf-3na0
Generating PDFs in React with react-pdf - DEV Community
December 16, 2021 - The src prop contains the source URL of the image that we want to render. Just like CSS, react-pdf lets developers use the flex property, which allows for responsive design.