Trying to hide first footer/header on PDF generated with Puppeteer

后端 未结 2 605
小蘑菇
小蘑菇 2020-12-19 08:20

Im new using nodejs functions and also puppeteer. Previously I was using wkhtmltopdf but currently its options are very poor.

So, my idea was generating a pdf from a

2条回答
  •  孤城傲影
    2020-12-19 08:44

    small hint: easy-pdf-merge an pdf-merge have some "system-tools-dependencies" I prefer pdf-lib, a plain js tool where you can use Buffers and Typescript support

    My Typescript:

    import {PDFDocument} from 'pdf-lib'
    ...
    
    const options: PDFOptions = {
        format: 'A4',
        displayHeaderFooter: true,
        footerTemplate: footerTemplate,
        margin: {
            top: '20mm',
            bottom: '20mm',
        },
    }
    const page1: Buffer = await page.pdf({
        ...options,
        headerTemplate: '
    ', pageRanges: '1', }) const page2: Buffer = await page.pdf({ ...options, headerTemplate: headerTemplate, pageRanges: '2-', }) const pdfDoc = await PDFDocument.create() const coverDoc = await PDFDocument.load(page1) const [coverPage] = await pdfDoc.copyPages(coverDoc, [0]) pdfDoc.addPage(coverPage) const mainDoc = await PDFDocument.load(page2) for (let i = 0; i < mainDoc.getPageCount(); i++) { const [aMainPage] = await pdfDoc.copyPages(mainDoc, [i]) pdfDoc.addPage(aMainPage) } const pdfBytes = await pdfDoc.save() // Buffer for https response in my case return Buffer.from(pdfBytes) ...

提交回复
热议问题