建议?对于我们的特定HTML - > PDF项目

时间:2010-12-03 23:24:38

标签: php html pdf

我有一个问题,我从谷歌搜索已经详细讨论了..但我想知道你会根据我们的特殊需求推荐什么。我希望能够走上正轨,然后才发现工作周后我选择了错误的工具(一种有效的工具,但其特性最终会为我们的项目排除它)。 / p>

我已经在这个主题上阅读了Stack Overflow上的一些好线程..但他们让人们在地图上提出建议......正如我所料 - 通常,我们的需求和经验遍布地图。而且,在这里,我想知道根据我们的具体情况你会推荐什么。

我们有一个动态HTML页面,在一个单个美国大小的文档的维度内显示30个“地址标签”。我们希望用户能够打印单个字母大小的页面并使内容与Avery地址标签(打印)贴纸完美匹配(就像在浏览器中一样),他们将使用这些纸张剥离30个贴纸并贴上实物产品。 HTML页面是大约20万的HTML(div和表格),文本,gif,jpgs,条形码PNG图形,大量使用严格的CSS - CSS2以及一点CSS3(CSS3属性转换),即:

/* --- for firefox, safari, chrome, etc. --- */
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
/* --- for ie --- */
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);

...我用来旋转(90度)条形码,我抓住这个网站/服务: http://www.barcodesinc.com/generator/index.php

我们可以放弃条形码PNG /服务只有当我可以轻松地用另一个替换它...并且条形码必须旋转90度 - 从而适合它的每个30的微小(垂直方向)分配的插槽“地址标签单元”。

  • 我希望我们为PrinceXML的服务器版本预算;-) ...但没有运气。
  • 我从未使用任何像FPDF或TCPDF这样的PHP库,但我关注速度;企业用户(在各种浏览器上)将实时需要pdf。如果保持解决方案免费,他们可能会耐心等待最终的PDF ..但如果生成需要几分钟,那就是一个负点。
    此外,我不确定这些对HTML有多好 - > PDF(而不是从头开始的直接PDF)..加上不确定CSS支持有多好。我们的页面有点像HTML / CSS kludge。
  • 我使用过命令行工具HTMLDOC和wkpdf,但是前者缺少我现在需要的CSS,而后者引入的边距会导致它完全被地址标签格式化(加上这个项目在Linux上)。

我的PHP技能尚未超强......但我愿意尽一切努力将任何解决方案整合在一起。 如果您对任何您认为符合此需求的PDF生成工具有所了解,那么请告知

5 个答案:

答案 0 :(得分:5)

如果您正在寻找像Prince XML这样的东西,但没有花费,我会尝试DocRaptor.com。它是一个从HTML转换的在线pdf生成器。我使用了免费计划,这很简单。

祝你好运!

内特

答案 1 :(得分:1)

我对这类事情的通常建议是wkhtmltopdf。你的webkit转换的东西应该仍然可以工作,其他任何可以在web工具包浏览器中使用的东西都可以。

公平警告:我自己没有使用它。

答案 2 :(得分:1)

您是否设置了HTML-> PDF解决方案?我不会走这条道路:HTML从未打算用于打印......它没有页面概念,操作系统,浏览器,安装字体等方面的差异都可以像打印噩梦一样精确。为什么不直接生成PDF并完全绕过HTML?

不幸的是,我从未做过你正在谈论的那种自动化PDF生成。如果我不得不快速地将某些东西放在一起,那么我头脑中的前两件事就是:

  • 生成PS输出,并提供给ps2pdf
  • 等实用程序
  • 生成TeX输出,并输入pdflatex

我担心这两者的稳健性和速度:它在很大程度上取决于你每秒处理的请求数量。

查看lddgs)的ps2pdf输出,看起来它可能会使用Cairo生成PDF。有可用于开罗的PHP,C,Python等绑定。

答案 3 :(得分:1)

我不建议您尝试将HTML转换为PDF。正如您已经能够在HTML中获得它一样,转换将永远不会保持这种精确度。

我已经使用FPDF并发现它很容易实现甚至复杂文档的实时PDF生成。 FPDF允许在PDF页面上精确放置(以英寸或您的首选单位为单位)元素,因此对齐不应成为问题。我怀疑你会发现生成PDF要比生成HTML要容易得多。

有条形码生成的用户提供的脚本,以便您可以在 FPDF中执行选择。或者您可以嵌入您在其他地方生成的图像。

编辑:为了跟进,我检查了FPDF网站,并且有一个用户提供的脚本来生成常见的Avery格式的标签。它不到200行代码,所以即使你想自己写代码,我怀疑你可以很容易地做到。

答案 4 :(得分:1)

最后,我们确实给了PrinceXML(通过即用即付服务“docRaptor”。感谢Nate的提示)。截至目前,Prince并不认识我在pdf中旋转条形码所需的CSS3变换..但是我发现了另一个条形码生成器,它在绘制时旋转它,然后服务..这样就可以了。可能有更好的方法来生成pdf ..但对于我们这些花费我们所有时间来破解网页的人来说,将pdf生成格式作为HTML / CSS源代码时,有一些非常令人满意的事情。我发现,对普林斯的所有大惊小怪都很好。感谢所有回复的人。