是否将Java框架另存为Microsoft Word或PDF文档?

是否将Java框架另存为Microsoft Word或PDF文档?,java,ms-word,save,Java,Ms Word,Save,我正在开发一个计费程序——现在,当你点击相应的按钮时,它会生成一个显示各种费用等的框架,基本上是一张发票。有没有一种方法可以让用户选择将该框架保存为文档,或者 在buffereImage中绘制JFrame绘制()方法JFrame 将图像保存为jpg或png或任何图像格式 获取一些pdf库并创建一个空白pdf(例如iText) 将图像插入PDF文档 保存它-完成 一种方法是将帧保存为图像,您可以使用以下语法将其转换为图像 BufferedImage myImage = new BufferedIm

我正在开发一个计费程序——现在,当你点击相应的按钮时,它会生成一个显示各种费用等的框架,基本上是一张发票。有没有一种方法可以让用户选择将该框架保存为文档,或者

  • buffereImage
    中绘制
    JFrame
    <代码>绘制()方法
    JFrame
  • 将图像保存为jpg或png或任何图像格式
  • 获取一些pdf库并创建一个空白pdf(例如iText)
  • 将图像插入PDF文档
  • 保存它-完成

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

    BufferedImage myImage = new BufferedImage(size.width,size.height,
                                BufferedImage.TYPE_INT_RGB);
    
    Graphics2D g2 = myImage.createGraphics();
    
    myComponent.paint(g2);
    

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

    与其生成word文档,不如使用Java库生成PDF文档(更便携),或者更好,报告库,可按注释中的建议以多种格式(PDF、XML、HTML、CSV、XLS、RTF、TXT)输出报告。在我看来,这比使用图像更干净,尤其是用于打印(甚至没有提到您的发票可能是一个多页文档)。

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

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


    通常通过生成包含需要打印的数据的文件来实现这一点。然后使用将该XML转换为XSL-FO。但是,我发现直接使用模板语言(例如)生成XSL-FO文件更容易。

    您可能希望以在线演示为例,它为用户提供了预先请求文档的选项。该演示程序进行下载,但它可以将文档导入框架,并将其留给浏览器显示。这种工作方式(从其他人看来)是从不同的角度看问题,并决定前面的格式,而不是在事实之后,然后尝试保存框架内容。

    我也会考虑使用JaveRealScript(它使用ItEXT创建PDFs),因为您可以编写一次报告并导出它的RTF,Word,pdf,甚至html。所以用户可以选择。你只需付出很少的额外努力。