Compare commits
2 Commits
5d1d655036
...
a649ede010
| Author | SHA1 | Date | |
|---|---|---|---|
| a649ede010 | |||
| 12892ae488 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -139,3 +139,5 @@ dist
|
|||||||
vite.config.js.timestamp-*
|
vite.config.js.timestamp-*
|
||||||
vite.config.ts.timestamp-*
|
vite.config.ts.timestamp-*
|
||||||
.vite/
|
.vite/
|
||||||
|
|
||||||
|
todo.txt
|
||||||
@@ -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
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user