我尝试强制下载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或已损坏”。怎么了?怎么让它起作用?
答案 0 :(得分:1)
告诉浏览器某些数据是PDF不会神奇地将数据转换为PDF格式。
你需要自己做,例如使用PHP PDF library或Prince。
答案 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类来执行此操作,例如HTML2PDF或wkhtmltopdf。