Migrating shared-operations to TS (WIP)

This commit is contained in:
Saud Fatayerji
2023-11-08 03:33:22 +03:00
parent 0a43660e55
commit 0f35c77074
19 changed files with 622 additions and 230 deletions

View File

@@ -0,0 +1,19 @@
import { PDFDocument } from 'pdf-lib';
export async function createSubDocument(pdfDoc: PDFDocument, pagesToExtractArray: number[]): Promise<Uint8Array> {
const subDocument = await PDFDocument.create();
// Check that array max number is not larger pdf pages number
if(Math.max(...pagesToExtractArray) >= pdfDoc.getPageCount()) {
throw new Error(`The PDF document only has ${pdfDoc.getPageCount()} pages and you tried to extract page ${Math.max(...pagesToExtractArray)}`);
}
const copiedPages = await subDocument.copyPages(pdfDoc, pagesToExtractArray);
for (let i = 0; i < copiedPages.length; i++) {
subDocument.addPage(copiedPages[i]);
}
return subDocument.save();
}