PHP HTML按比例转换为PDF

时间:2012-10-11 07:46:23

标签: php html pdf pdf-generation

我正在使用PHP,MySQL和jQuery构建一个Web2Print网站。该网站的主要概念是最终用户可以通过动态添加文本,图像,拖动,调整大小等来创建HTML模板并将其转换为高分辨率A4尺寸PDF然后转移到打印。

例如,请参阅链接http://optisolbusiness.com/funeral_site/sample/index/id/255。 这是要转换为PDF的示例HTML。网页HTML的宽度和高度是356x405像素,问题是当我将其转换为A4 PDF大小8.5X11.69英寸时,HTML显示的PDF非常小。

所以我必须增加HTML的宽度和高度以适应PDF大小,同时将HTML大小增加到8.5X11.69in。 HTML中的内容也应按比例增加(即)文本字体大小,背景图像,图像宽度和高度,左上角也应按比例增加。 PDF应该与HTML完全一致。 我使用在线API htmlpdf.com转换为PDF。

1 个答案:

答案 0 :(得分:0)

怎么做?有几种方法,但你必须愿意做自己的研究。您可以通过多种方式绘制PDF:

  • 在PHP库中使用图形基元,例如FPDF和TCPDF
  • 使用带有文档模板的报告软件,例如JasperReports(需要服务器root访问权限)
  • 从HTML转换,例如通过wkhtmltopdf(免费)或王子(贵)
  • 通过操纵SVG并将其渲染为PDF,比如在Inkscape中(我没有看到其他人采用这种方法,但我有一个工作演示 - see here。只有在你习惯以编程方式操作XML时才推荐)

请记住,要在纸上获得高分辨率输出(300-600pdi),您需要使用正确的字体或矢量图形。它们以所需的分辨率渲染,如果正确使用它们将不会像素化。如果不这样做,请以正确的分辨率使用位图,因此如果您有1200px的方形图像,并且希望以600pdi打印,则图像的任何一侧都不能超过2英寸。

一般情况下,除非您与他们签订合同,否则最好不要依赖第三方转换服务 - 因为他们可以随时关闭他们的网站或拒绝访问,并且您的工作将被浪费。