使用php强制下载html到pdf

时间:2014-02-03 12:25:20

标签: php pdf

我尝试强制下载html文件为pdf并使用下面的代码

<?php
header('Content-disposition: attachment; filename=\''. basename($file) .'\'.pdf');
header("Content-type: application/pdf");

echo file_get_contents($_SERVER['DOCUMENT_ROOT'].'/index-1.html');

?>

我得到一些.pdf扩展名的文件但是当我尝试打开它时,我收到错误“不是PDF或已损坏”。怎么了?怎么让它起作用?

3 个答案:

答案 0 :(得分:1)

告诉浏览器某些数据是PDF不会神奇地将数据转换为PDF格式。

你需要自己做,例如使用PHP PDF libraryPrince

答案 1 :(得分:0)

你不能只将html放在一个宠物文件中并期望它能够工作你需要使用像dompdf这样的东西来将html转换成pdf文件:https://code.google.com/p/dompdf/

为了获得更好的结果和对浮点数的支持,我会使用以下库。我用它得到了非常好的结果。之所以这么好用,是因为他们使用WebKit浏览器渲染引擎渲染html,然后将其转换为pdf,在将其与浏览器进行比较时,几乎可以得到1对1的结果。 https://code.google.com/p/wkhtmltopdf/

答案 2 :(得分:0)

您必须创建一个正确的PDF文件。您可以使用某些PHP类来执行此操作,例如HTML2PDFwkhtmltopdf