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

时间:2009-10-29 01:23:20

标签: java ms-word save

我正在制定一个结算程序 - 现在当您点击相应的按钮时,它会生成一个显示各种费用的框架,基本上是一张发票。有没有办法让用户选择将该框架保存为文档Microsoft WordMicrosoft WorksPDF

5 个答案:

答案 0 :(得分:3)

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

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中执行此操作,质量更好)。

答案 1 :(得分:2)

  1. JFrame中绘制BufferedImagepaint()
  2. JFrame方法
  3. 将图像另存为jpg或png或任何图像格式
  4. 拿一些pdf库并创建一个空白的pdf(例如iText)
  5. 将图像插入PDF文档
  6. 保存 - 完成

答案 2 :(得分:2)

我宁愿使用像iText这样的Java库来生成PDF文档(更便携),或者更好的是,可以输出报告的JasperReport报告库,而不是生成word文档。以bigbrother82在评论中建议的各种格式(PDF,XML,HTML,CSV,XLS,RTF,TXT)。这比使用图像更清晰,特别是对于打印(甚至没有提到您的发票可能是多页文档)。

答案 3 :(得分:0)

我可能会从一个稍微不同的方向看这个,而不是询问如何将GUI表格原样打印到PDF或word文档中,我会问如何将该内容转换为Word / PDF文档。

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

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

答案 4 :(得分:0)

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