我想用wkhtmltopdf phpwrapper生成一个基本的pdf。我也在使用yii框架。
这是我的HTML:
<!doctype html>
<html>
<head>
</head>
<body>
<p>test</p>
</body>
</html>
我在wkhtmltopdf中的设置:
$pdfParams = array(
'header-html' => $this->tmpHeaderFile->getFileName(),
'footer-html' => $this->tmpFooterFile->getFileName(),
'username' => 'myUser',
'password' => 'myPass',
);
$this->pdf = new Pdf($pdfParams);
我得到的错误:
Exception 'Exception' with message 'Could not create PDF: Loading pages (1/6)
[> ] 0%
[======> ] 10%
[==============================> ] 50%
[============================================================] 100%
Counting pages (2/6)
[============================================================] Object 1 of 1
Resolving links (4/6)
[============================================================] Object 1 of 1
Loading headers and footers (5/6)
[===> ] 5%
[======> ] 10%
[======> ] 10%
[=======> ] 13%
[==========> ] 17%
[==================================> ] 57%
[====================================> ] 61%
Warning: Failed to load https://work.mydomain.com/devs/florian/web//devs/florian/web/themes/css/report-footer.css (ignore)
[============================================================] 100%
Printing pages (6/6)
[> ] Preparing
[============================================================] Page 1 of 1
Done
Exit with code 1 due to network error: ContentNotFoundError'
知道问题是什么吗?
我之前遇到过类似的问题。使用wkhtmltopdf时,您需要确保将所有静态资源添加到HTML文件中。
例如:CSS文件,使用内部样式表:
<!doctype html>
<html>
<head>
<style>
html {
margin: 0;
}
</style>
</head>
<body>
<p>test</p>
</body>
</html>
对于javascript文件,也可以将脚本直接添加到HTML文件中。
<!doctype html>
<html>
<head>
<script type="text/javascript">
var body = document.querySelector('body');
</script>
</head>
<body>
<p>test</p>
</body>
</html>
我希望这有帮助