1
0
Fork 0
mirror of https://github.com/24eme/signaturepdf synced 2026-03-14 13:55:44 +01:00

booklet: code refactoring

This commit is contained in:
Vincent LAURENT 2025-07-20 17:15:12 +02:00
commit 2b577a9830

View file

@ -706,33 +706,11 @@ async function merge2Pages(pdf, pageA, pageB, pageWidth, pageHeight) {
const page = pdf.addPage([newPageWidth, newPageHeight]);
if(pageA) {
resizePage(pageA, newPageWidth / 2, newPageHeight);
const pageEmbeddedA = await pdf.embedPage(pageA, {
left: 0,
bottom: 0,
right: pageA.getWidth(),
top: pageA.getHeight(),
});
page.drawPage(pageEmbeddedA, {
width: pageEmbeddedA.width,
height: pageEmbeddedA.height,
x: 0,
y: 0,
});
await embedPage(pdf, page, pageA, 0, 0);
}
if(pageB) {
resizePage(pageB, newPageWidth / 2, newPageHeight);
const pageEmbeddedB = await pdf.embedPage(pageB, {
left: 0,
bottom: 0,
right: pageB.getWidth(),
top: pageB.getHeight(),
});
page.drawPage(pageEmbeddedB, {
width: pageEmbeddedB.width,
height: pageEmbeddedB.height,
x: newPageWidth / 2,
y: 0,
});
await embedPage(pdf, page, pageB, newPageWidth / 2, 0);
}
}
@ -759,6 +737,21 @@ function resizePage(page, newWidth, newHeight) {
page.translateContent(offsetX, offsetY);
}
async function embedPage(pdf, page, pageToEmbed, x, y) {
const pageEmbedded = await pdf.embedPage(pageToEmbed, {
left: 0,
bottom: 0,
right: pageToEmbed.getWidth(),
top: pageToEmbed.getHeight(),
});
page.drawPage(pageEmbedded, {
width: pageEmbedded.width,
height: pageEmbedded.height,
x: x,
y: y,
});
}
function cleanPDF(pdf) {
let pagesRef = [];
for(page of pdf.getPages()) {