Create or Generate PDF file in React
17 Dec 20252 minutes to read
The Syncfusion® JavaScript PDF library is used to create, read, and edit PDF documents. This library also offers functionality to merge, split, stamp, fill forms, and secure PDF files.
This guide explains how to integrate the JavaScript PDF library into a React application.
Installing Syncfusion® JavaScript PDF package
All Syncfusion JS 2 packages are published in npmjs.com registry.
- To install the PDF library, use the following command.
npm install @syncfusion/ej2-pdf --saveNOTE
For image/data extraction features, you need to install the
@syncfusion/ej2-pdf-data-extractpackage as an add-on.
- Copy the contents of the openjpeg folder from ./node_modules/@syncfusion/ej2-pdf-data-extract/dist to the public directory using the command:
cp -R ./node_modules/@syncfusion/ej2-pdf-data-extract/dist/openjpeg public/openjpeg- Confirm that there is an ‘openjpeg’ directory within your public directory if you are extracting images from PDFs.
- Ensure your server serves .wasm files with the Content-Type: application/wasm MIME type.
Create a PDF document: Add the script in App.jsx by creating a button and attaching a click event that uses the JavaScript PDF API to generate a PDF document.
import React from 'react';
export default function App() {
const createPdf = () => {
// Create a new PDF document
let pdf = new ej.pdf.PdfDocument();
// Add a new page (fixed: use pdf.addPage instead of document.addPage)
let page: ej.pdf.PdfPage = pdf.addPage();
// Get graphics from the page
let graphics: ej.pdf.PdfGraphics = page.graphics;
// Set font
let font: ej.pdf.PdfStandardFont = pdf.embedFont(ej.pdf.PdfFontFamily.helvetica, 36, ej.pdf.PdfFontStyle.regular);
// Create a new black brush
let brush = new ej.pdf.PdfBrush({ r: 0, g: 0, b: 0 });
// Draw text
graphics.drawString('Hello World!!!', font, { x: 20, y: 20, width: graphics.clientSize.width - 20, height: 60 }, brush);
// Save and download PDF
pdf.save('Output.pdf');
// Destroy the PDF document instance
pdf.destroy();
};
return (
<div style=>
<button id="normalButton" onClick={createPdf}>
Create PDF document
</button>
</div>
);
}Run the application
Now run the npm run dev command in the console to start the development server. This command compiles your code and serves the application locally, opening it in the browser.
npm run dev
By executing the program, you will get the PDF document as follows.
