【问题标题】:PHP HTML to PDF conversion proportionally [closed]PHP HTML到PDF按比例转换[关闭]
【发布时间】:2012-10-01 19:51:17
【问题描述】:

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

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

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

【问题讨论】:

  • 您使用什么内部格式来存储您的文档? SVG,也许?或者您是直接使用 TCPDF 或类似工具在 PDF 上绘制文本和图像?
  • 哪一个更好?
  • 先了解更多细节。您提到“当我将其转换为 A4 PDF 时”-您使用什么软件来做到这一点? (请将其编辑到您的问题中)。
  • 我正在使用在线 API htmlpdf.com 转换为 PDF
  • 嗯,该服务如何知道您的输入要放大到 A4 大小?它读 CSS3 @page 的东西吗?还要记住位图文本like this 在打印时会呈现非常糟糕的效果 - 它需要是矢量图形或正确的字体。

标签: php html pdf pdf-generation


【解决方案1】:

如何做到这一点?有几种方法,但您必须愿意进行自己的研究。您可以通过多种方式绘制 PDF:

  • 在 FPDF 和 TCPDF 等 PHP 库中使用图形基元
  • 使用带有文档模板的报告软件,例如 JasperReports(需要服务器根访问权限)
  • 通过从 HTML 转换,例如通过 wkhtmltopdf(免费)或 Prince(昂贵)
  • 通过操作 SVG 并将其呈现为 PDF,例如在 Inkscape 中(我没有看到其他人采用这种方法,但我有一个工作演示 - see here。仅在您熟悉以编程方式操作 XML 时推荐)李>

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

通常最好不要依赖第三方转换服务,除非您与他们签订了合同 - 因为他们可以随时关闭他们的网站或拒绝访问,而您的工作将被浪费。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 2010-11-27
    • 2011-02-24
    • 2012-06-08
    • 2011-07-27
    • 1970-01-01
    • 2022-03-07
    相关资源
    最近更新 更多