HTML到PDF高分辨率

时间:2009-12-10 03:45:08

标签: php html pdf-generation

  

可能重复:
  Convert HTML + CSS to PDF with PHP?

我想将网页转换为适合打印的高分辨率PDF。我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

如果您想在代码中进行操作,请查看HTML2PDF或FPDF,它们是用于创建带代码的PDF文档的php库。

如果将HTML2PDF与PHP的输出缓冲功能结合使用 即

<?php
    ob_start();
?>
    // put all your html in here
<?php
    $data = ob_get_contents();
    require('html2pdf.php');
    $pdf = new HTML2FPDF();
    $pdf->AddPage();
    $pdf->WriteHTML($data);
    $pdf->Output();
 ?>

显然这是一个非常粗略的例子,但我之前在php中使用过它来生成pdfs。它确实存在样式表的一些问题,似乎忽略了大多数样式表。但是通过自己使用FPDF并手动构建文档可以获得更多控制。

答案 1 :(得分:1)

如果你想使用浏览器转换网页,你可以在windows中使用软件,如cutepdf,dopdf等。 但如果你想通过php代码(动态)将网页转换为pdf,有几种转换方式:

  1. 使用提供的库,您可以尝试html2pdf(php)。 在java / .net中,可以使用像pd4ml这样的库(即使它不是免费的)。

  2. 您可以使用开放式办公转换器。它可以打开多个doc类型,并转换为pdf。开放式办公室提供API(我试过java,而不是php)。流程与打开文档相同,然后转换为pdf,但您只需在编码中执行。必须有开放式办公室服务器守护程序才能通过您的代码监听转换器。见http://oodaemon.sourceforge.net/

  3. 如果你想在PHP中快速解决方案,也许你可以使用html2pdf。

    您使用开放式办公室转换器的优势是输出将与您在浏览器中看到的相同(我已经测试它使用oodaemon)。如果使用库我不确定100%它会在浏览器中打开,因为布局依赖于CSS。 pd4ml基于html和css在pdf基础上生成布局(我认为它拥有CSS解析器)

答案 2 :(得分:1)

尝试:“wkhtmltopdf”它的效果很好(及其开放源码)。它使用 webkit 引擎(由safari,chrome浏览器使用),并且非常易于使用:

wkhtmltopdf stackoverflow.com/questions/1878512/ output.pdf

试试吧!对于Linux和Windows也是如此。易于安装。如果您使用ubuntu,请输入:

aptitude install wkhtmltopdf