base structure for list printing with custom template
This commit is contained in:
parent
e2a916f37d
commit
a085de6e2f
19 changed files with 279 additions and 98 deletions
|
@ -12,6 +12,7 @@ export abstract class PdfExport {
|
|||
data = {},
|
||||
saveToDisk = true,
|
||||
folder = "",
|
||||
customTemplate = undefined,
|
||||
}: {
|
||||
template: `${PermissionModule}` | `${PermissionModule}.${string}`;
|
||||
title?: string;
|
||||
|
@ -19,16 +20,34 @@ export abstract class PdfExport {
|
|||
data?: any;
|
||||
saveToDisk?: boolean;
|
||||
folder?: string;
|
||||
customTemplate?: {
|
||||
headerId?: number;
|
||||
footerId?: number;
|
||||
bodyId?: string | number;
|
||||
headerHeight: number;
|
||||
footerHeight: number;
|
||||
};
|
||||
}) {
|
||||
if (folder != "") FileSystemHelper.createFolder(folder);
|
||||
|
||||
const { header, footer, body, headerMargin, footerMargin } = await TemplateHelper.renderFileForModule({
|
||||
module: template,
|
||||
headerData: data,
|
||||
bodyData: data,
|
||||
footerData: data,
|
||||
title: title,
|
||||
});
|
||||
let header: string, footer: string, body: string, headerMargin: number, footerMargin: number;
|
||||
if (!customTemplate) {
|
||||
({ header, footer, body, headerMargin, footerMargin } = await TemplateHelper.renderFileForModule({
|
||||
module: template,
|
||||
headerData: data,
|
||||
bodyData: data,
|
||||
footerData: data,
|
||||
title: title,
|
||||
}));
|
||||
} else {
|
||||
({ header, footer, body, headerMargin, footerMargin } = await TemplateHelper.renderFileForCustom({
|
||||
customTemplate,
|
||||
headerData: data,
|
||||
bodyData: data,
|
||||
footerData: data,
|
||||
title: title,
|
||||
}));
|
||||
}
|
||||
|
||||
const browser = await puppeteer.launch({
|
||||
headless: true,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue