将 Java 框架保存为 Microsoft Word 或 PDF 文档?

Posted

技术标签:

【中文标题】将 Java 框架保存为 Microsoft Word 或 PDF 文档?【英文标题】:Save Java frame as a Microsoft Word or PDF document? 【发布时间】:2009-10-29 01:23:20 【问题描述】:

我正在开发一个计费程序 - 现在,当您单击相应的按钮时,它会生成一个显示各种费用等的框架,基本上是一张发票。有没有办法让用户选择将该框架保存为文档,Microsoft Word、Microsoft Works 或 PDF?

【问题讨论】:

【参考方案1】:

一种方法是将帧保存为图像,您可以使用以下语法将其转换为图像。

BufferedImage myImage = new BufferedImage(size.width,size.height,
                            BufferedImage.TYPE_INT_RGB);

Graphics2D g2 = myImage.createGraphics();

myComponent.paint(g2);

然后您可以保存此图像并将其传递到 jasper 报告中。然后,您可以从 JasperPrint 对象以几种不同的格式保存,包括 pdf。更好但类似的方法是将 Graphics 上下文传递给 JasperReports(在 jasper 中有一个渲染器可以做到这一点,而且质量要好得多)。

【讨论】:

【参考方案2】:
    BufferedImage 中绘制JFramepaint()JFrame的方法 将图像保存为 jpg 或 png 或任何图像格式 获取一些 pdf 库并创建一个空白 pdf(例如 iText) 将图像插入 PDF 文档 保存 - 完成

【讨论】:

【参考方案3】:

与其生成word文档,我更愿意使用iText这样的Java库来生成PDF文档(更便携),或者更好的是JasperReport报告库,可以输出范围广泛的报告bigbrother82 在评论中建议的格式(PDF、XML、html、CSV、XLS、RTF、TXT)。在我看来,这比使用图像更清晰,尤其是在打印时(更不用说您的发票可能是多页文档)。

【讨论】:

我也会考虑只使用 JasperReports(它使用 itext 创建 pdf),因为您可以编写一次报告并将其导出为 rtf、word、pdf 甚至 html。所以用户可以选择。并且您只需付出很少的额外努力。【参考方案4】:

我可能会从稍微不同的方向来看待这个问题,而不是询问如何将 GUI 表单按原样转换为 PDF 或 word 文档,而是询问如何将该内容转换为 Word/PDF 文档。

这个问题的答案是Apache FOP。生成XSL-FO 文件并要求 FOP 将其转换为 RTF 文档(扩展名为 .DOC)或 PDF。

通常通过生成包含您需要打印的数据的XML 文件来完成此操作。然后使用XSLT 将该XML 转换为XSL-FO。然而,我发现直接使用模板语言(例如Freemarker)生成 XSL-FO 文件更容易。

【讨论】:

【参考方案5】:

您可能希望查看Docmosis 的在线演示作为示例,它为用户提供了预先请求文档的选项。该演示会进行下载,但它可以将文档定向到框架中,并将其留给浏览器显示。这种工作方式(正如其他人所提到的)是从不同的角度看待问题并预先决定什么格式,而不是事后然后尝试保存框架内容。

【讨论】:

以上是关于将 Java 框架保存为 Microsoft Word 或 PDF 文档?的主要内容,如果未能解决你的问题,请参考以下文章

使用Microsoft Office 2010 PIA将PPT转换为SVG

apache_conf 密码保护目录(将两个文件保存到root)https://www.zigpress.com/2014/09/22/password-protecting-an-entire-wo

使用 JDBC 将 Microsoft Access 数据库连接到 Java 并进行编译

将数据网格中的数据保存到 Microsoft Word 文档中

使用正则表达式提取文件路径并将其保存在python中

通过将文件(即 docx、xlsx、txt)发送到“Microsoft XPS Document Writer”打印机,以编程方式将文件(即 docx、xlsx、txt)转换(保存)为 XPS