Reputation: 21
I am attempting to generate a PDF of a page using Puppeteer.. in local development.. I am able to return the PDF with proper page breaks.. however in production (Heroku server) my PDF has page breaks in the middle of my content!
Here is the code:
const browser = await puppeteer.launch({
headless: true,
args: ['--no-sandbox', '--disable-setuid-sandbox']
})
console.log('browser has been opened')
const page = await browser.newPage()
page.setViewport({width: 1000, height: 1056})
await page.waitFor(1000)
await page.emulateMediaType('screen')
await page.waitFor(5000)
console.log('about to create PDF - standby')
const pdf = await page.pdf({
format: 'Letter',
printBackground: true,
path: MY PATH
})
console.log('pdf created')
await browser.close()
console.log('browser closed')
}
Things I have tried..
@media print {
.page {
page-break-after: always;
}
}
page.emulateMedia()
and styling optionshere is a screenshot of the weird page break for reference.. https://user-images.githubusercontent.com/31495981/72014061-2aba7000-322d-11ea-8334-1d1df80f41d5.png
Upvotes: 2
Views: 3537
Reputation: 5066
puppyteer
can't use page-break-<any>
css rules with flexbox
. Rewrite your css without flexbox and puppyteer
will use page-break as should
Upvotes: 1