使用无头Chrome,背景颜色未在所有页面/站点的PDF上呈现

问题描述 投票:2回答:1

我正在使用Headless Chrome将HTML呈现为PDF,但是PDF中的背景色渲染似乎仅在某些网页上有效。

这是我正在使用的库:https://github.com/chrome-php/headless-chromium-php

对于下面的代码,如果我将$ url更改为https://www.hovec.co.uk/,则它不会呈现任何背景色或图像,但它适用于BBC网站。

$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();

对此的任何帮助将不胜感激!

php chromium google-chrome-headless
1个回答
0
投票

将此style添加到HTML页面:

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

信用:https://stackoverflow.com/a/60736572/3013633

© www.soinside.com 2019 - 2024. All rights reserved.