我在我们的生产 Debian 服务器上安装了出色的软件 wkhtmltopdf,用于从 URL 创建 PDF。我们将生成的 PDF 流式传输(我希望这是正确的术语)到客户端,我们没有兴趣将它们存储在服务器端。
我们仅从本地 URL 生成 PDF(在自己的服务器上)。但是,URL 仍然基于域而不是本地 IP,因为服务器上有多个站点。
我们的问题是,对于某些本地页面,我们得到的只是一个完全空白的页面(甚至不是 PDF)。响应代码为 200,但内容类型为 text/html。对于那些将 PDF 成功流式传输到客户端的页面,内容类型为 application/pdf。
我认为在生成 PDF 时可能出现问题,所以我运行了与 PHP 执行完全相同的命令,然后成功生成了 PDF。
我正在使用此页面上的库使 PHP 与 wkhtmltopdf 连接。
$pdf = new WkHtmlToPdf(array(
'margin-left'=>0,
'margin-right'=>0,
'margin-top'=>0,
'margin-bottom'=>0,
'print-media-type',
'disable-smart-shrinking'
));
$url = "http://myserver.se/$url";
$pdf->addPage($url);
$pdf->send();
为什么我会返回某些 URL 的空白页?