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 files
vite.config.js.timestamp-* vite.config.js.timestamp-*
vite.config.ts.timestamp-* vite.config.ts.timestamp-*
.vite/ .vite/
todo.txt

View File

@@ -23,8 +23,8 @@ export async function mergePdfFiles(
newPdf: PdfFile, newPdf: PdfFile,
insertAt: number insertAt: number
): Promise<PdfFile> { ): Promise<PdfFile> {
const baseDoc = await PDFDocument.load(basePdf.arrayBuffer); const baseDoc = basePdf.doc ?? await PDFDocument.load(basePdf.arrayBuffer);
const newDoc = await PDFDocument.load(newPdf.arrayBuffer); const newDoc = newPdf.doc ?? await PDFDocument.load(newPdf.arrayBuffer);
const mergedDoc = await PDFDocument.create(); const mergedDoc = await PDFDocument.create();
@@ -42,17 +42,12 @@ export async function mergePdfFiles(
Array.from({ length: newPageCount }, (_, i) => i) Array.from({ length: newPageCount }, (_, i) => i)
); );
// base pages before insertion
for (let i = 0; i < clampedInsertAt; i += 1) { for (let i = 0; i < clampedInsertAt; i += 1) {
mergedDoc.addPage(basePages[i]); mergedDoc.addPage(basePages[i]);
} }
// inserted new pages
for (let i = 0; i < newPages.length; i += 1) { for (let i = 0; i < newPages.length; i += 1) {
mergedDoc.addPage(newPages[i]); mergedDoc.addPage(newPages[i]);
} }
// remaining base pages
for (let i = clampedInsertAt; i < basePages.length; i += 1) { for (let i = clampedInsertAt; i < basePages.length; i += 1) {
mergedDoc.addPage(basePages[i]); mergedDoc.addPage(basePages[i]);
} }
@@ -69,7 +64,8 @@ export async function mergePdfFiles(
return { return {
name: `${baseName}_plus_${newName}.pdf`, name: `${baseName}_plus_${newName}.pdf`,
arrayBuffer: buffer, arrayBuffer: buffer,
pageCount: basePageCount + newPageCount, pageCount: mergedDoc.getPageCount(),
doc: mergedDoc, // 👈 important
}; };
} }