【问题标题】:Generate dynamic data to pdf from web application从 Web 应用程序生成动态数据为 pdf
【发布时间】:2012-02-29 17:12:29
【问题描述】:

我正在使用“Spring MVC”网络应用程序,我需要生成一个小的“PDF”文件并将其发送到打印机。生成的“PDF”将包含可以通过访问数据库获得的用户信息。

有没有我可以使用的开源工具?我查看了“Java Print API”,但仍然没有找到合适的解决方案。

谁能给点指导?

实际上来自网络应用程序(spring mvc)可以说我点击了“执行打印作业”按钮并且没有显示打印对话框(Windows 打印对话框)我可以在后台打印吗?假设使用默认打印机?

【问题讨论】:

    标签: java servlets spring-mvc printing


    【解决方案1】:

    看看 Apache FOP、iText 和 PDFBox...它们应该会给你一个很好的起点。

    【讨论】:

      【解决方案2】:

      BIRT (http://www.eclipse.org/birt/phoenix/) 是解决这类问题的绝佳解决方案。您可以将其用作单独的 servlet 或将引擎用作代码中的库。

      【讨论】:

        【解决方案3】:

        Jasper Reports 是一款出色的工具,可以完全按照您的意愿行事。 Jasper Reports

        【讨论】:

          【解决方案4】:

          另一种选择是在 LaTeX 中生成文档并将其呈现为 PDF。有点难看,因为它需要运行外部应用程序而不仅仅是调用库函数,但您几乎可以在格式化方面做任何事情,并且 PDF 具有独特的风格(TeX 字体和文本布局引擎 - 我个人非常喜欢这种外观)。

          【讨论】:

          • Kosmulski - 非常感谢您的回答。能否请您提供有关此“La Tex”工具的任何链接?
          • LaTeX 是一个排版系统 - 类似于文字处理器,但功能更强大(并且不那么容易学习平衡)。它特别适用于排版复杂的方程。主页是hereWikipedia 提供了一些一般信息和一个简单的示例。您应该可以轻松获得适用于任何 Linux 发行版的软件包。
          【解决方案5】:

          我建议查看iTextDocmosisJODReports。如果您更多地说明您的具体要求,那么最好的选择可能会更明显。

          【讨论】:

          • 非常感谢您回答我的问题。实际上来自网络应用程序(spring mvc)可以说我点击了“执行打印作业”按钮并且没有显示打印对话框(windows打印对话框)我可以在后台打印吗?假设使用默认打印机?
          • 嗨,山姆。我只是在回答问题的“生成”部分-对此感到抱歉。您的“执行打印作业”按钮是否位于浏览器页面中?如果是这样,您问题的这一部分是关于从网页进行后台打印的。对吗?
          • 没问题 jo.. 无论如何感谢您的帮助。是的,按钮在jsp页面上。所以当用户点击它时,我可以进行后台处理并生成 .PDF 文件并将其发送到打印机吗?
          • 嗨,山姆。看起来要走的路是打开一个生成 PDF 的新窗口(通过调用服务器/url),然后调用 window.print();在 JavaScript 中。检查stackoverflow.com/questions/4789803/print-a-pdf-via-javascript
          • 感谢您的帮助 jo...我找到了一个很好的例子 here 目前我正在关注该教程。它在 Spring 3 上,我的项目基于 Spring 2.5。所以我正在做一些更改以在没有注释的情况下嵌入它。再次感谢..
          猜你喜欢
          • 2016-11-26
          • 2014-07-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-18
          • 2016-09-28
          • 2012-04-01
          • 1970-01-01
          相关资源
          最近更新 更多