如何在 PHP 中使用 iText java PDF 库?
Posted
技术标签:
【中文标题】如何在 PHP 中使用 iText java PDF 库?【英文标题】:How to use iText java PDF library with PHP? 【发布时间】:2011-05-22 09:34:10 【问题描述】:Google 搜索结果表明可以通过 php/Java Bridge 进行。此网桥需要 Java 应用程序服务器。我的主机 (bluehost) 不允许运行任何 Java 应用程序服务器。在这种情况下,使 iText 工作的替代方法是什么?切换主机对我来说不是可行的选择。
谢谢。
【问题讨论】:
如果您在不运行 Java 的共享主机上,我认为这根本无法做到。 如果没有安装java,你可以做的不多。您最好的选择可能是基于 PHP 的 PDF 库,请参见此处:php.net/manual/en/faq.using.php#faq.using.freepdf 嘿,如果您正在生成 PDF,我强烈推荐wkhtmltopdf,它使用超棒的 webkit 渲染引擎将 html 文档渲染为 pdf。它几乎没有外部依赖项,因此很容易上手。这是pdfmyurl 使用的,所以如果你想测试你的结果,可以尝试一下。 一个相关问题***.com/questions/1648715/… 【参考方案1】:ITEXT 网站专门说 JAVA 和 .NET,希望他们也可以构建 PHP 或 PERL 版本
我用过Java Itext,太棒了!!
【讨论】:
【参考方案2】:PDFtk 是安装在许多 Linux 系统上的命令行工具。它是 iText 库的前端。它可能会满足您的需求。您必须使用命令行从 PHP 调用它。
【讨论】:
Pdftk 是一个非常、非常、非常老的 iText 版本的前端。【参考方案3】:我知道这是一篇旧帖子,但对于那些仍在寻找答案的人,我可以建议让 Java 使用 Jersey (JAX-RS) 作为 REST 服务为您完成工作,然后只需从 PHP 调用该服务。您可以将您的 Java 服务放在允许 Java 的主机上,并且您可以使用 cURL 从 PHP 调用该服务(或者甚至 file_get_contents if 您的主机允许它并且 if 您知道你在做什么)。
RESTful 服务的松耦合允许您将 Java 服务和 PHP 应用程序放在不同的主机上。不要在 PHP/Java 桥上浪费时间。从 PHP 调用带有 Java 后端的 RESTful 服务是非常明智的。这样,以后如果您决定,您宁愿用 C# 或其他方式重新执行服务,至少对 PHP 应用程序的影响为 0,因为您使用了语言中立的 RESTful 方法。
我自己使用这种方法没有任何性能问题,YMMV
(这主要是设计问题:通常最好将事物“栓接”在一起,然后将它们“焊接”在一起。)
此外,带有 JAX-RS 的 Java 非常简单(恕我直言,但又是 .. YMMV)
【讨论】:
【参考方案4】:总是有iTextSharp,iText 的 C# 翻译。你的主机会让你运行 C# 吗?
看起来您可以从 PHP 调用 C#,如 detailed here。
【讨论】:
只是我的看法,但如果不允许使用 Java,我认为不太可能存在运行 C# 应用程序的 .NET Framework 环境。而且 PHP 的 COM 接口并不是你真正想要使用的东西。顺便说一句,这篇文章是 2002 年的。 2002?哎呀!好吧,我怀疑现在将两者联系起来更难了。 刚刚检查过,C# 也不是一个选项。我想,我得寻找其他库。以上是关于如何在 PHP 中使用 iText java PDF 库?的主要内容,如果未能解决你的问题,请参考以下文章