Stirling-PDF/shared-operations/functions/removeBlankPages.ts

18 lines
701 B
TypeScript
Raw Normal View History

import { PDFDocument } from 'pdf-lib';
import { detectEmptyPages } from "./common/detectEmptyPages.js";
2023-11-10 19:08:07 +01:00
export async function removeBlankPages(snapshot: string | ArrayBuffer | Uint8Array, whiteThreashold: number) {
const emptyPages = await detectEmptyPages(snapshot, whiteThreashold);
console.log("Empty Pages: ", emptyPages);
const pdfDoc = await PDFDocument.load(snapshot);
// Reverse the array before looping in order to keep the indecies at the right pages. E.g. if you delete page 5 page 7 becomes page 6, if you delete page 7 page 5 remains page 5
emptyPages.reverse().forEach(pageIndex => {
pdfDoc.removePage(pageIndex);
})
return pdfDoc.save();
};