使用silverstripe 3.1创建pdf的最佳方法?

时间:2014-04-28 19:05:55

标签: php pdf silverstripe

我想在服务器端创建PDF文件。最好的方法是什么? 有谁知道一个好的解决方案?

提前谢谢

4 个答案:

答案 0 :(得分:6)

还有silverstripe-tcpdf:

https://github.com/mparkhill/silverstripe-tcpdf

如果您在插件网站上搜索PDF,也可以找到此模块: - )

http://addons.silverstripe.org/add-ons?search=pdf

答案 1 :(得分:3)

DOMPDF有一个SilverStripe包装器,应该就是你所追求的:

https://github.com/burnbright/silverstripe-dompdf

答案 2 :(得分:2)

我知道这是一个很老的问题,已经回答了,但我也使用了Dompdf很长一段时间,它有很多限制,比如浮动和CSS支持。

因为我为wkhtmltopdf编写了一个模块。 Wkhtmltopdf使用webkit渲染引擎,因此您将获得完整的css3支持。

如果您没有任何限制,可以使用this module

小摘录:

  

使用WKhtmlTOpdf的强大功能在SilverStripe中创建PDF

     

此模块增加了从每个人简单创建PDF的可能性   你有DataObject。基于WKhtmlTOpdf和mikehaertl的php   包装

请注意,此资源太大,无法完全合并。

答案 3 :(得分:0)

有一个TCPDF模块......

https://github.com/mparkhill/silverstripe-tcpdf

否则只需将TCPDF添加到你的composer.json中......

"require": {
    ...
    "tecnick.com/tcpdf": "6.0.013",
    ...
},

并回顾它的许多例子......

http://www.tcpdf.org/examples.php

或者这个用模板渲染的小片段......

$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');