Compare commits

...

2 Commits

Author SHA1 Message Date
a649ede010 Merge branch 'main' of git.add-ideas.de:zemion/pdf-tools 2025-12-01 14:37:30 +01:00
12892ae488 fixing return of merge not including doc 2025-12-01 14:37:05 +01:00
2 changed files with 7 additions and 9 deletions

4
.gitignore vendored
View File

@@ -138,4 +138,6 @@ dist
# Vite files
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
.vite/
.vite/
todo.txt

View File

@@ -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
};
}