(注意,尽管这里提到了 Pyppeteer,Puppeteer 的 Python 版本,但代码完全相同,并且可以与 Puppeteer 和 Pyppeeteer 一起使用)。
你好,
我正在使用以下代码将页面http://getemoji.com/转换为 PDF:
import asyncio
from pyppeteer import launch
from pyppeteer.launcher import connect
async def main():
browser = await launch()
context = await browser.createIncognitoBrowserContext()
page = await context.newPage()
page.on('dialog', lambda dialog: dialog.dismiss())
# await page.emulateMedia('print')
await page.goto('http://getemoji.com/')
await page.screenshot({'path': 'example.png'})
await context.close()
await browser.disconnect()
asyncio.get_event_loop().run_until_complete(main())
但是,如果我尝试将页面转换为 PDF,如下所示:
await page.pdf({
'path': 'example.pdf',
'format': 'A4'
})
生成的 PDF 中的所有表情符号都是灰色的,如下所示:
问题不是表情符号的字体问题,因为它们在屏幕截图上完美运行。这与 PDF 的生成方式有关,但我不知道为什么。
我希望你能找到它:)