HTML到PDF与通过PHP编程创建PDF
我有一个PHP应用程序,需要生成一些带有漂亮页眉/页脚的PDF发票和PDF时间表。一些Stackoverflow用户建议使用TCPDF创建PDF文档。在我的研究中,我发现了两种生成PDF的方法: 1) 以编程方式格式化PDF,如下所示:HTML到PDF与通过PHP编程创建PDF,php,pdf-generation,Php,Pdf Generation,我有一个PHP应用程序,需要生成一些带有漂亮页眉/页脚的PDF发票和PDF时间表。一些Stackoverflow用户建议使用TCPDF创建PDF文档。在我的研究中,我发现了两种生成PDF的方法: 1) 以编程方式格式化PDF,如下所示: $tcpdf->SetFillColor(255, 0, 0); $tcpdf->SetTextColor(255); $tcpdf->SetDrawColor(128, 0, 0); $tcpdf->Se
$tcpdf->SetFillColor(255, 0, 0);
$tcpdf->SetTextColor(255);
$tcpdf->SetDrawColor(128, 0, 0);
$tcpdf->SetLineWidth(0.3);
$tcpdf->SetFont('', 'B');
2) 将HTML转换为PDF
我如何决定应该使用哪种方法 我总是建议动态创建PDF,但要基于可以使用最终用户工具编辑的模板,或者——至少——不必是程序员。在您的例子中,可能是HTML。对我来说,理想的解决方案是采用Office模板,以编程方式将其填充值,并在技术上可能的情况下将其输出为PDF。我用PHP做office模板填充部分,效果很好 使用基于模板的方法而不是从头开始生成文档的主要原因是:用户可以根据自己的需要设计模板,当设计需要更改时,不需要您。只有当插入的数据需要以某种方式更改或扩展时,程序员才开始工作。这对您来说是一个巨大的工作量。我可以推荐,根据您的分类,这是一种编程方法 HTML抽象很好,但我不相信您拥有基于完整几何图形的绘图API的全部功能和控制能力。小心像fpdf这样不支持UTF-8开箱即用的库,并使用穷人的解析器将HTML“转换”为PDF 关于你的申请,我制作了一个生成模板发票的系统。我的用户可以上传由Zend_PDF提取的PDF模板。然后,该模板用于生成的发票的每一页,便于定制
请注意,我的受众主要是能够制作这些模板的图形设计师,因此这是合适的解决方案。如果您的读者只熟悉HTML,那么将HTML转换为PDF可能是最好的方法。我还建议将HTML转换为PDF:
- 这更容易实现
- 以后更容易更改布局/设计
- 您可能可以重用页面的一些html
有一次我为我使用的网站创建了一个PDF版本,之后将postscript转换为PDF。您好,您有两个选择。您可以使用,这使您能够将文档设计为常规html文档并使用css设置样式。您可以将此文档转换为pdf格式。我的经历很好。我使用Zend_视图呈现一个常规html页面,并将其转换为pdf。这样,您就拥有了一个非常灵活的模板,因为您可以在html生成视图中做出各种显示决策 → 看
或者,您可以使用。这也允许使用基于模板的方法,但更加严格,html更少。A正在进行中。我建议使用编程格式 在.net世界中,我对html到pdf转换器有过明显的负面体验。它们似乎分为两类: 那些“解析”你的html并试图将其转换为pdf的。它们通常缺少一些真正基本的特性,比如样式表和对基于表的布局以外的任何东西的支持 将html“打印”到图像并粘贴到pdf中的那些。这些实际上可以生成一个外观不错的文档。它们似乎通过将浏览器链接到库中来工作,这会导致线程问题和性能低下
我在直接使用pdf API方面的经验一般,但php在这方面似乎有一些更好的库 我对这三种方法都有丰富的经验:
我还没有使用TCPDF进行HTML到PDF的转换,但是从代码的整体质量来看,我猜它会做得很好。(我真的把TCPDF推到了极限,包括用RTL字符集、中文等呈现图形丰富的文档,而且它的性能完美无瑕)。因此,如果您决定以编程方式进行,我建议您使用TCPDF,但是如果您有一个来自图形设计师的好模板,并且打算在上面添加内容,那么使用Zend_Pdf加载它并从那里进行修改是一个合理的选择(尽管您最终仍然会实现单词包装和其他一些基本内容).这对于php世界来说确实是完全不同的。像Zend_Pdf这样的编程库很糟糕。就像我推荐的那样,dompdf在html到pdf中非常好。它没有链接图书馆里的浏览器或类似的东西(甚至没有人敢去想这件事)。这里有一个很好的教程,我相信它一定会帮助你。上面的链接现在似乎已经过时了。链接被断掉了。Pdf被放弃了,他们建议作为替代品。