fixing return of merge not including doc
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -138,4 +138,6 @@ dist
|
||||
# Vite files
|
||||
vite.config.js.timestamp-*
|
||||
vite.config.ts.timestamp-*
|
||||
.vite/
|
||||
.vite/
|
||||
|
||||
todo.txt
|
||||
@@ -23,8 +23,8 @@ export async function mergePdfFiles(
|
||||
newPdf: PdfFile,
|
||||
insertAt: number
|
||||
): Promise<PdfFile> {
|
||||
const baseDoc = await PDFDocument.load(basePdf.arrayBuffer);
|
||||
const newDoc = await PDFDocument.load(newPdf.arrayBuffer);
|
||||
const baseDoc = basePdf.doc ?? await PDFDocument.load(basePdf.arrayBuffer);
|
||||
const newDoc = newPdf.doc ?? await PDFDocument.load(newPdf.arrayBuffer);
|
||||
|
||||
const mergedDoc = await PDFDocument.create();
|
||||
|
||||
@@ -42,17 +42,12 @@ export async function mergePdfFiles(
|
||||
Array.from({ length: newPageCount }, (_, i) => i)
|
||||
);
|
||||
|
||||
// base pages before insertion
|
||||
for (let i = 0; i < clampedInsertAt; i += 1) {
|
||||
mergedDoc.addPage(basePages[i]);
|
||||
}
|
||||
|
||||
// inserted new pages
|
||||
for (let i = 0; i < newPages.length; i += 1) {
|
||||
mergedDoc.addPage(newPages[i]);
|
||||
}
|
||||
|
||||
// remaining base pages
|
||||
for (let i = clampedInsertAt; i < basePages.length; i += 1) {
|
||||
mergedDoc.addPage(basePages[i]);
|
||||
}
|
||||
@@ -69,7 +64,8 @@ export async function mergePdfFiles(
|
||||
return {
|
||||
name: `${baseName}_plus_${newName}.pdf`,
|
||||
arrayBuffer: buffer,
|
||||
pageCount: basePageCount + newPageCount,
|
||||
pageCount: mergedDoc.getPageCount(),
|
||||
doc: mergedDoc, // 👈 important
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user