我在mysql表中有html并希望将其转换为可下载的pdf文件。
有一些工具可以将文件转换为pdf,但我还没有找到一个可以用于php的工具。
你能帮忙吗?有什么建议吗?答案 0 :(得分:3)
如果你的意思是从php创建一个pdf,pdflib会帮助你。
否则,如果您想通过PHP 转换 PDF格式的HTML页面,我知道的选项是:
DOMPDF:包装html并构建pdf的php类。工作良好,可定制(如果你知道PHP),基于pdflib,如果我记得正确它甚至需要一些CSS。坏消息:当html很大或很复杂时会很慢。
HTML2PS:与DOMPDF相同,但是这个在.ps(ghostscript)中首先转换,然后以你需要的任何格式转换(pdf,jpg,png)。对我来说这比dompdf好一点,但是有相同的速度问题 ..哦,与css的兼容性更好。
这两个是php类,但是如果你可以在服务器上安装一些软件,并通过passthru()或system()访问它,那么也看看这些:
wkhtmltopdf:基于webkit(safari的包装器),非常快速而且功能强大..似乎是最好的一个(atm)用于将飞行html页面转换为pdf,仅需2秒即可获得3页面带有CSS2的xHTML文档。无论如何,这是一个最近的项目,google.code页面经常更新。
htmldoc:这个是坦克,它真的永远不会停止/崩溃..这个项目在2007年似乎已经死了,但无论如何如果你不需要css兼容性,这对你来说很不错。
tcpdf - 这是fpdf的增强版和维护版。 Main Features of tcpdf并且它具有较少的执行时间和较高的输出。有关使用两个最流行的pdf生成类的详细教程:TCPDF和FPDF。请关注this link。
也请看这篇文章。
答案 1 :(得分:2)
html2pdf图书馆可能对您有所帮助;我听说它通常做得很好 - 但可能需要你稍微调整你的HTML。
答案 2 :(得分:2)
答案 3 :(得分:2)
您也可以尝试免费使用mPDF并提供大量文档。
示例:
<?php
include('mpdf/mpdf.php');
$mpdf=new mPDF();
$mpdf->WriteHTML('<img src="images/logo.png">'); //Write HTML
$mpdf->Output(); //Show the output
?>
答案 4 :(得分:0)
最简单的方法是http://www.tcpdf.org/
答案 5 :(得分:0)
我很惊讶没有人提及它,但是您也可以使用在线API为您完成这项工作。根据您的使用情况,它可以是免费的,您可以依靠它们的最新功能(例如CSS3和WebFonts),并且将处理外部化,从而减少了硬件工作(或为它提供了更多资源来处理其他请求)。
有许多专用于将HTML转换为PDF的API。 PDFShift是其中之一(我在这里工作),语法确实很简单(当然,它与API不同)。
例如,将URL转换为PDF就像执行curl_
POST请求一样简单:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.pdfshift.io/v2/convert/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode({'source': 'https://pdfshift.io/documentation'}),
CURLOPT_HTTPHEADER => array('Content-Type:application/json'),
CURLOPT_USERPWD => 'YOUR_API_KEY:'
));
$response = curl_exec($curl);
file_put_content('pdfhsift-documentation.pdf', $response);
大多数在线API或多或少具有相同的语法,并且在价格,性能,处理方式等方面有所不同。