- Modify existing PDFs
- Merge PDFs
- Rotate PDFs
- Split PDFs
- Download PDFs
- Create ZIP File Of PDFs Processed
- A Project Made Using pdf-actions is PDFActions : GITHUB Repo
// Importing The Required Modules
import { createPDF,pdfArrayToBlob, mergePDF } from "pdf-actions";
// Async Function To Merge PDF Files Uploaded Using The Input Tag in HTML
const mergePDFHandler = async (files) => {
// Converting File Object Array To PDF Document Array
files.forEach((file)=>await createPDF.PDFDocumentFromFile(file))
// Merging The PDF Files to A PDFDocument
const mergedPDFDocument = await mergePDF(files)
// Converting The Merged Document to Unit8Array
const mergedPdfFile = await mergedPDFDocument.save();
// Saving The File To Disk
const pdfBlob = pdfArrayToBlob(mergedPdfFile);
};
// Importing The Required Modules
import { createPDF, rotatePDF, zipToBlob } from "pdf-actions";
// Async Function To Rotate PDF Files Uploaded Using The Input Tag in HTML
const rotatePDFHandler = async (files) => {
// Creating A JSZip Instance
const zip = new JSZip();
for (let i = 0; i < files.length; i++) {
const file = files[i];
const pdfDoc = await createPDF.PDFDocumentFromFile(file);
const rotatedPDF = await rotatePDF(pdfDoc, file.degrees); // file.degrees is not by default
zip.file(
`rotated-${file.name}`,
await rotatedPDF.save() // Converting To Unit8Array
);
}
const zipBlob = await zipToBlob(zip);
};
// Importing The Required Modules
import { createPDF, splitPDF } from "pdf-actions";
import JSZip from "jszip";
// Async Function To Split PDF Files Uploaded Using The Input Tag in HTML
const splitPDFHandler = async (files) => {
// Creating A JSZip Instance
const zip = new JSZip();
for (let i = 0; i < files.length; i++) {
const file = files[i];
const pdfFile = await createPDF.PDFDocumentFromFile(file);
// Optional degree argument Default : 0
const splitPDF = await splitPDF(pdfFile, file.range, {
degree: file.degrees,
}
const pdfFile = await splitPDF.save();
zip.file(`split-${file.name}`, pdfFile);
}
await zip.generateAsync({ type: "blob" }).then(function (content) {
saveAs(content, "splitPDFFiles.zip");
});
};
import { pdfArray } from "pdf-actions";
const fileArray = pdfArray(file);
import { pdfArrayToBlob } from "pdf-actions";
const fileBlob = pdfArrayToBlob(fileArray);
import { zipToBlob } from "pdf-actions";
const zipBlob = zipToBlob(zipObject : JSZip Instance);
To install the latest stable version:
- With npm
npm install --save pdf-actions
- With yarn
yarn add pdf-actions
This assumes you're using npm or yarn as your package manager.
The repo for the project site (and generated documentation files) is located here: https://github.com/ManasMadan/pdf-actions