【发布时间】:2014-04-28 19:05:55
【问题描述】:
我想在服务器端创建一个 PDF 文件。最好的方法是什么? 有谁知道好的解决方案吗?
提前谢谢你
【问题讨论】:
标签: php pdf silverstripe
我想在服务器端创建一个 PDF 文件。最好的方法是什么? 有谁知道好的解决方案吗?
提前谢谢你
【问题讨论】:
标签: php pdf silverstripe
【讨论】:
DOMPDF 有一个 SilverStripe 包装器,它应该正是您所追求的:
【讨论】:
我知道这是一个很老的问题并且已经回答了,但我也使用 Dompdf 很长时间了,它有很多限制,比如浮动和 css 支持。
因为我为 wkhtmltopdf 编写了一个模块。 wkhtmltopdf 使用 webkit 渲染引擎,因此您将获得完整的 css3 支持。
如果你想没有限制,你可以使用this module
小摘录:
借助 WKhtmlTOpdf 的强大功能在 SilverStripe 中创建 PDF
这个模块增加了从每个文件简单地创建 PDF 的可能性 您拥有的数据对象。基于WKhtmlTOpdf和mikehaertl的php 包装。
请注意,此资源太大,无法在此处完全合并。
【讨论】:
有一个 TCPDF 模块...
https://github.com/mparkhill/silverstripe-tcpdf
否则只需将 TCPDF 添加到您的 composer.json 中...
"require": {
...
"tecnick.com/tcpdf": "6.0.013",
...
},
并查看它的许多示例以开始...
http://www.tcpdf.org/examples.php
或者这个用模板渲染的小sn-p...
$pdf = new TCPDF();
$pdf->AddPage();
$vd = new ViewableData();
$str = $vd->customise(ArrayData::create(array('MyVariable'=>'MyValue')))->renderWith('MyTemplateName');
$pdf->writeHTMLCell(0, 0, '', '', $str, 0, 1, 0, true, '', true);
$strContent = $pdf->Output(BASE_PATH.'/tmp/tmp.pdf', 'S');
【讨论】: