【问题标题】:How to preview any files inside a Java application?如何预览 Java 应用程序中的任何文件?
【发布时间】:2011-02-26 09:43:36
【问题描述】:

我正在使用 JTree 浏览文件夹的内容,我希望当用户单击文件时,软件会显示该文件的预览(其第一页的屏幕截图)。

这些文件主要是 Office 文档和 PDF。

我设法使用从 Sun 下载的模块来处理 PDF 文件,但我想知道是否有办法使用任何软件(最好是 JAR)甚至是内置的 Windows API。

我正在考虑将文件转换为 PDF,然后预览此 PDF,但这不是最佳选择。

有什么想法吗?

【问题讨论】:

    标签: java windows winapi thumbnails preview


    【解决方案1】:

    我遇到了类似的问题,经过几天的谷歌搜索,我发现了最好的问题。

    Alfresco 也有同样的问题,用 :

    解决了
    • 一个以服务器模式(套接字)运行的开放式办公室,所有办公文档都由 alfresco 发送到开放式办公室,以便将它们转换为 PDF 格式
    • 感谢SWFTOOLS,这些 PDF 被转换为 .swf 查看器
    • 此 .swf 已集成在 HTML 中
    • 对于图像,它使用ImageMagick 来创建我想的文件的小版本

    个人而言,我会尝试以这种方式实现它:

    • 通过 socket 模式打开 office 将 office 文档转换为 PDF
    • 借助JPedal 库(LGPL 版本)将 PDF 的第一页转换为 PNG
    • 向最终用户显示该 PNG
    • 对于图像,我可能也会使用 ImageMagick ...但现在,我使用的是 Seam Image.scaleToFit API

    【讨论】:

      【解决方案2】:

      我也遇到了同样的问题,偶然发现了这个帖子。从 Anthony 的解决方案开始,我在套接字模式下使用 Libre Office 将办公文档直接转换为 PNG。不幸的是,这在 PDF 中是不可能的。 Here 很好地概述了哪些方法是可能的。

      unoconv --connection 'socket,host=127.0.0.1,port=2220,tcpNoDelay=1;urp;StarOffice.ComponentContext' -f png -e PageRange=1 your_file_name.extension
      

      以套接字模式启动 Libre Office 的小参考:click me

      【讨论】:

        【解决方案3】:

        我很久以前就问过这个问题:solution

        【讨论】:

        • 谢谢,但这不是我想要的。我想要文件的缩略图,而不是其图标的预览。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 2011-02-28
        相关资源
        最近更新 更多