我搞砸了无头浏览器打印过程,有时(<1%)会生成空白的pdf。通常在更大的html5app内部使用被调用的url,以向用户显示一些可打印的页面。
后端是在Linux上的php7中完成的。
$chromeBinary = '/usr/bin/google-chrome-stable';
$pdfRenderUrl = $baseUrl . ($json->{'printPath'});
$fileName = 'print_' . $json->{'jpgName'} . '.pdf';
$outputDirectory = '/data/projects/xxx/htdocs/xxxx/' . $fileName;
$command = sprintf(
'%s --headless --virtual-time-budget=8000 --Cache-Control=no-store --print-to-pdf=%s %s',
escapeshellarg($chromeBinary),
escapeshellarg($outputDirectory),
escapeshellarg($pdfRenderUrl)
);
exec($ command);
好的,URL内只有一个Ajax调用,但是无内容打印中不会使用此内容。实际上,我现在没有找到错误的方法。有没有办法在加载网址后延迟打印?我读到--virtual-time-budget只是加载事件的超时!几秒钟后如何进行肠内装载事件?