【问题标题】:Show the contents of pdf Document generated in java program ,without creating pdf file, in JFrame在 JFrame 中显示 java 程序中生成的 pdf 文档的内容,无需创建 pdf 文件
【发布时间】:2020-12-07 05:20:18
【问题描述】:


我正在使用 itextpdf-5.1.0.jar 文件从 java 程序创建一个 pdf 文件。
它有 Document 类,其实例包含要写入 pdf 文件的全部数据。 创建 pdf 文件并将其保存在我们的任何系统驱动器中后,可以使用 icepdf-viewer-6.2.2.jar 中的类在我的 java 程序中查看相同的内容。

除了在系统驱动器中创建文件并在 java 应用程序中重新加载该文件之外,是否有任何类采用 itextpdf-5.1.0.jar 的 Document 类 的实例strong>作为参数直接在Jframe中显示pdf文件的内容?

【问题讨论】:

    标签: java swing file pdf itext


    【解决方案1】:

    您的问题包含不正确的假设:

    它有 Document 类,其实例包含要写入 pdf 文件的全部数据。

    虽然 itext Document 实例确实是您将所有内容添加到该 itext 应为您布局的对象,但该实例完全 包含该内容.相反,它会立即将其转发到已注册的侦听器对象,这些侦听器对象会尽快将其写入PdfWriter 实例,而PdfWriter 实例又会尽快将其写入为其实例化的流。

    所以,你的问题

    是否有任何类以 itextpdf-5.1.0.jarDocument 类 的实例为参数,并在 Jframe 中直接显示 pdf 文件的内容

    显然必须回答:不,不可能有这样的课程。

    不过,您可以做的是用ByteArrayOutputStream 而不是FileOutputStream 实例化PdfWriter 以在内存中生成pdf:关闭Document 后,您可以从@987654327 检索字节数组@ 然后保存完成的pdf。然后,您可以尝试使用您选择的 pdf 查看器组件从内存中显示 pdf,只要该查看器支持通过字节数组或输入流(通过 ByteArrayInputStream)进行文档输入。

    【讨论】:

    • 。非常感谢 :) 我会尝试你的想法。
    猜你喜欢
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 2020-07-08
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多