esbenp / pdf-bot

🤖 A Node queue API for generating PDFs using headless Chrome. Comes with a CLI, S3 storage and webhooks for notifying subscribers about generated PDFs
MIT License
2.63k stars 142 forks source link

Add custom header and footer to generated pdf #26

Open valterbarros opened 5 years ago

valterbarros commented 5 years ago

I see that htmlpdfchrome has this option with:

const pdf = await htmlPdf.create(html, {
  port,
  printOptions: {
    displayHeaderFooter: true,
    headerTemplate: `
      <div class="text center">
        Page <span class="pageNumber"></span> of <span class="totalPages"></span>
      </div>
    `,
    footerTemplate: '<div class="text center">Custom footer!</div>',
  },
});

Can I do this on pdf-bot generation?

xucito commented 5 years ago

You can just pass printOptions directly to generator section. i.e.

var htmlPdf = require('html-pdf-chrome')

module.exports = {
  api: {
    token: 'api-token'
  },
  // html-pdf-chrome options
  generator: {
    completionTrigger: new htmlPdf.CompletionTrigger.Timer(5000), // waits for 5 sec,
    printOptions: {
       displayHeaderFooter: true,
       headerTemplate: `
            <div class="text center">
                Page <span class="pageNumber"></span> of <span class="totalPages"></span>
            </div>
        `,
    footerTemplate: '<div class="text center">Custom footer!</div>',
  }
  },
  webhook: {
    secret: '1234',
    url: 'http://localhost:3000/webhooks/pdf'
  }
}