如何在 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 库?的主要内容,如果未能解决你的问题,请参考以下文章

iText:在可见签名上显示签名细节

如何运用Java组件itext生成pdf

如何运用Java组件itext生成pdf

如何在 Java 中使用 Itext 动态创建页脚?

java 已经获取pdf代码,如何把他pdf文件保存到本机 要求用输出流做

如何运用Java组件itext生成pdf