WKHTMLTOPDF (knplabs - snappy) 不显示页眉页脚
WKHTMLTOPDF (knplabs - snappy) not showing header nor footer page
我正在使用 wkhtmltopdf
生成我的 pdf 文件。我已经离开这一代一段时间了,不管出于什么原因,它不再生成页眉和页脚了。
到目前为止我已经尝试过的事情(当有更多答案出现时会更新):
- 在页眉和页脚上添加
doctype
、html
、head
和 body
标签
- 将页眉和页脚的路径更改为绝对路径(即使使用来自驱动器前向 C:/xampp... 的完整绝对路径也不起作用。)可能是值得指出的是,将文件名更改为不存在的名称不会引发错误。所以我不知道它是否找到文件。也许有人可以告诉我一个测试这个的好方法?
这是我的头文件:
<!DOCTYPE html>
<html>
<head>
<title>PDF header</title>
<style>
html {
display: block;
}
body {
font-family: Calibri, "Segoe Ui Regular", sans-serif;
letter-spacing: 0px;
}
</style>
</head>
<body style="padding-top: 30px">
<img src="../../images/logo_extra.jpg" style="width: 100%;"/>
</body>
</html>
这是我的主文件:
<?php
session_start();
require __DIR__ . '/../vendor/autoload.php';
use Knp\Snappy\Pdf;
$pdf = new Pdf('pdf\wkhtmltopdf\bin\wkhtmltopdf');
header('Content-Type: application/pdf');
// header('Content-Disposition: attachment; filename="offerte.pdf"');
$pdf->setOption('header-html', 'pdf/header.html');
$pdf->setOption('footer-html', 'pdf/footer.html');
$pdf->setOption('load-error-handling','ignore');
// I know there is a 'cover' function in WKHTMLTOPDF
$file = file_get_contents('pdf/cover.php');
echo $pdf->getOutputFromHtml($file);
?>
一如既往,请:
给我一个解释,也许还有一个例子,但不仅仅是一堆工作代码!
PS: 如果您发现任何其他错误,请告诉我。
wkhtmltopdf 与 header/cover/footer 有问题。我没有深入研究它,因为增加边距确实为我解决了这个问题:
<?php
session_start();
require __DIR__ . '/../vendor/autoload.php';
use Knp\Snappy\Pdf;
$pdf = new Pdf('pdf\wkhtmltopdf\bin\wkhtmltopdf');
header('Content-Type: application/pdf');
//just set margins
$pdf->setOption('margin-top', 20);
$pdf->setOption('margin-bottom', 15);
$pdf->setOption('margin-left', '0');
$pdf->setOption('margin-right', '0');
$pdf->setOption('header-html', 'pdf/header.html');
$pdf->setOption('footer-html', 'pdf/footer.html');
$pdf->setOption('load-error-handling','ignore');
$file = file_get_contents('pdf/cover.php');
echo $pdf->getOutputFromHtml($file);
?>
第二个问题很奇怪 - 不存在的文件名应该会引发错误。注释掉 header 然后尝试使用错误的文件名,snappys AbstractGenerator 应该说些什么...
我正在使用 wkhtmltopdf
生成我的 pdf 文件。我已经离开这一代一段时间了,不管出于什么原因,它不再生成页眉和页脚了。
到目前为止我已经尝试过的事情(当有更多答案出现时会更新):
- 在页眉和页脚上添加
doctype
、html
、head
和body
标签 - 将页眉和页脚的路径更改为绝对路径(即使使用来自驱动器前向 C:/xampp... 的完整绝对路径也不起作用。)可能是值得指出的是,将文件名更改为不存在的名称不会引发错误。所以我不知道它是否找到文件。也许有人可以告诉我一个测试这个的好方法?
这是我的头文件:
<!DOCTYPE html>
<html>
<head>
<title>PDF header</title>
<style>
html {
display: block;
}
body {
font-family: Calibri, "Segoe Ui Regular", sans-serif;
letter-spacing: 0px;
}
</style>
</head>
<body style="padding-top: 30px">
<img src="../../images/logo_extra.jpg" style="width: 100%;"/>
</body>
</html>
这是我的主文件:
<?php
session_start();
require __DIR__ . '/../vendor/autoload.php';
use Knp\Snappy\Pdf;
$pdf = new Pdf('pdf\wkhtmltopdf\bin\wkhtmltopdf');
header('Content-Type: application/pdf');
// header('Content-Disposition: attachment; filename="offerte.pdf"');
$pdf->setOption('header-html', 'pdf/header.html');
$pdf->setOption('footer-html', 'pdf/footer.html');
$pdf->setOption('load-error-handling','ignore');
// I know there is a 'cover' function in WKHTMLTOPDF
$file = file_get_contents('pdf/cover.php');
echo $pdf->getOutputFromHtml($file);
?>
一如既往,请: 给我一个解释,也许还有一个例子,但不仅仅是一堆工作代码!
PS: 如果您发现任何其他错误,请告诉我。
wkhtmltopdf 与 header/cover/footer 有问题。我没有深入研究它,因为增加边距确实为我解决了这个问题:
<?php
session_start();
require __DIR__ . '/../vendor/autoload.php';
use Knp\Snappy\Pdf;
$pdf = new Pdf('pdf\wkhtmltopdf\bin\wkhtmltopdf');
header('Content-Type: application/pdf');
//just set margins
$pdf->setOption('margin-top', 20);
$pdf->setOption('margin-bottom', 15);
$pdf->setOption('margin-left', '0');
$pdf->setOption('margin-right', '0');
$pdf->setOption('header-html', 'pdf/header.html');
$pdf->setOption('footer-html', 'pdf/footer.html');
$pdf->setOption('load-error-handling','ignore');
$file = file_get_contents('pdf/cover.php');
echo $pdf->getOutputFromHtml($file);
?>
第二个问题很奇怪 - 不存在的文件名应该会引发错误。注释掉 header 然后尝试使用错误的文件名,snappys AbstractGenerator 应该说些什么...