При использовании Headless Chrome цвета фона не отображаются в PDF-файлах для всех страниц / сайтов. - PullRequest
2 голосов
/ 15 января 2020

Я использую Headless Chrome для рендеринга HTML в PDF, но рендеринг цвета фона в PDF, похоже, работает только на определенных веб-страницах.

Это библиотека, которую я использую: https://github.com/chrome-php/headless-chromium-php

Для следующего кода, если я изменю $ url на https://www.hovec.co.uk/, тогда он не отображает какие-либо цвета фона или изображения, и все же он работает для BB C site.

$browserFactory = new BrowserFactory("/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome"); //thats my local Chrome

    $browser = $browserFactory->createBrowser([
      'windowSize' => [794, 1122]
    ]);

    $url='https://www.bbc.co.uk/';
    //$url='https://www.hovec.co.uk/';

    // creates a new page and navigate to $url
    $page = $browser->createPage();
    $page->navigate($url)->waitForNavigation();
    $page->pdf(['printBackground'=>true, 'marginTop' => 0.0, 'marginBottom' => 0.0, 'marginLeft' => 0.0, 'marginRight' => 0.0])->saveToFile($filepath);
    $browser->close();

Любая помощь с этим будет высоко ценится!

1 Ответ

0 голосов
/ 10 апреля 2020

Добавить style на HTML страницу:

    <style>
        html { -webkit-print-color-adjust: exact; }
    </style>

Кредиты: { ссылка }

...