2009-12-10 115 views
0

可能重复:
Convert HTML + CSS to PDF with PHP?HTML到PDF高分辨率

我想一个网页转换为适合打印高分辨率PDF。我怎样才能做到这一点?

+0

您使用哪种语言?您使用什么操作系统?你知道像CutePDF这样的PDF打印机吗? – 2009-12-10 04:00:07

+0

嗨,PHP是语言。我使用的操作系统是Windows Vista。我会尝试可爱的PDF。谢谢 – spotlightsnap 2009-12-10 04:04:52

+0

网页是否利用它运行的任何脚本来构建内容?如果是的话,你很可能SOL – 2009-12-10 06:52:50

回答

1

如果你想在代码中做到这一点,看看HTML2PDF或FPDF,他们是PHP库,旨在创建代​​码的PDF文档。

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

<?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中之前生成的PDF文件。它确实有一些样式表问题,似乎忽略了其中的大部分。但是通过自己使用FPDF并手动构建文档可以获得更多的控制权。

1

如果你想使用浏览器转换网页,你可以使用像cutepdf,dopdf等窗口软件 但如果你想通过PHP代码(在飞行中)将网页转换为pdf,有几个如何转换:

  1. 使用库提供的,你可以试试html2pdf(php)。 在java/.net中可以使用类似pd4ml的库(即使它不是免费的)。

  2. 您可以使用开放式办公转换器。它可以打开多个文档类型,并转换成pdf。开放式办公室提供的API(我曾尝试在Java中,而不是PHP)。流程与您打开文档相同,然后转换为pdf,但您只需在编码中进行。必须有开放式办公服务器守护程序通过您的代码来收听转换器。看到这里http://oodaemon.sourceforge.net/

如果你想在PHP快速的解决方案,也许你可以使用HTML2PDF。

您使用开放式办公转换器的优点是输出将与您在浏览器中看到的相同(我已经测试过它使用oodaemon)。如果使用库,我不确定100%,如果您在浏览器中打开它,它将会是相同的,因为布局取决于CSS。 pd4ml生成PDF格式的基于HTML和CSS的布局(它拥有CSS解析器,我认为)

+0

嗨jeft,我想转换使用的软件,目前我试过硝基pdf试用版,但当我转换的HTML,它不包括任何图像从该HTML。和cutepdf,我想转换HTML,但我不知道如何?任何好的测试软件?我想要打印高分辨率的pdf文件。这就是为什么。 – spotlightsnap 2009-12-10 07:22:15

+0

当然,你可以测试doPDF(免费),或pdfFactoryPro(不免费) pdf Factory Pro可以将任何文件(只要你可以打印它)转换为pdf。打开html/word/anything,然后点击print,然后选择pdf factory pro。 如果你想要良好的图像分辨率,选择PDF工厂专业属性 - 图形选项卡。取消选中下采样图像并取消选中使用jpg压缩。 它适合我。 – Jef 2009-12-10 08:03:33

+0

@Jef:我有兴趣使PDF与浏览器中的相同(具体来说:CSS2.1,图像,链接)。如何通过OO(守护进程)完成它?据我所知,deamon提供了访问OO的途径,这意味着输出将以OO如何呈现它。 – 2011-08-27 17:54:50

1

尝试:“wkhtmltopdf”它只是工作很好(及其开源)。它采用的WebKit 发动机(通过Safari浏览器使用的Chrome浏览器),它是非常容易使用:

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

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

aptitude install wkhtmltopdf