This commit is contained in:
Matthias Hochmeister
2026-03-26 11:25:28 +01:00
parent 3d03345107
commit d4adf9230d
5 changed files with 181 additions and 68 deletions

View File

@@ -129,16 +129,31 @@ export async function addPdfHeader(
}
/**
* Returns a `didDrawPage` callback that renders pdf_footer at the bottom of each page.
* Returns a `didDrawPage` callback that renders pdf_footer (left) and
* "Seite X/Y" page numbers (bottom right) on every page.
*/
export function addPdfFooter(
doc: jsPDF,
settings: PdfSettings,
): ((data: any) => void) | undefined {
if (!settings.pdf_footer) return undefined;
return () => {
renderMarkdownText(doc, settings.pdf_footer, 10, doc.internal.pageSize.height - 12, {
fontSize: 8,
});
): (data: any) => void {
return (data: any) => {
const pageHeight = doc.internal.pageSize.height;
const pageWidth = doc.internal.pageSize.width;
doc.setFontSize(8);
doc.setFont('helvetica', 'normal');
doc.setTextColor(100, 100, 100);
if (settings.pdf_footer) {
renderMarkdownText(doc, settings.pdf_footer, 10, pageHeight - 8, { fontSize: 8 });
}
const pageNum = data?.pageNumber ?? 1;
const pageCount = data?.pageCount ?? 1;
const pageText = `Seite ${pageNum}/${pageCount}`;
const textWidth = doc.getTextWidth(pageText);
doc.text(pageText, pageWidth - 10 - textWidth, pageHeight - 8);
doc.setTextColor(0, 0, 0);
};
}