Кукловод не рендерит цвет, цвет фона, когда я пытаюсь сохранить PDF на диск - PullRequest
1 голос
/ 18 марта 2020

Это мой код шаблона node.js и HTML, который создает PDF из шаблона HTML. Цвета не отображаются.

const puppeteer = require('puppeteer');

(async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto("file:///D:/pdf_export/template/template.html");
    await page.pdf({
        path: 'output.pdf',
        printBackground: true
    });
    await browser.close();
})()
<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    </head>

    <body>
        <p style="color: red;">Hello World</p>
    </body>
</html>

Когда я открываю файл output.pdf, он показывает «Hello world» только черным, а не красным.

1 Ответ

2 голосов
/ 18 марта 2020

Puppeteer - это просто библиотека для управления Chrome / Chromium, поэтому, если что-то пойдет не так во время его использования, лучше всего открыть Chromium с помощью puppeteer.launch({headless:false}) и отладить там.

Установить страницу css в теге <style></style>.

Вы можете решить проблему с помощью следующего CSS кода:

html {
  -webkit-print-color-adjust: exact;
}
p {
  color: #FF0000; 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...