我正在使用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();
对此的任何帮助将不胜感激!
将此style
添加到HTML页面:
<style>
html { -webkit-print-color-adjust: exact; }
</style>