如何在Java应用程序中预览任何文件?

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

这些文件大多是Office文档和PDF。

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

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

有任何想法吗 ?

Solutions Collecting From Web of "如何在Java应用程序中预览任何文件?"

我遇到了类似的问题,并且在Google搜索结束之后发现了最好的一个。

Alfresco有同样的问题,解决它与:

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

Personnaly,我会尝试这样实现它:

  • 将套件文档转换为PDF,这要归功于套接字模式下的开放式办公
  • 使用JPedal库(LGPL版本)将PDF的第一页转换为PNG
  • 把PNG传给最终用户
  • 对于图像,我也许会使用ImageMagick …但现在,我使用Seam Image.scaleToFit API

我也有同样的问题,并偶然发现这个线程。 从Anthony的解决方案开始,我使用套接字模式下的Libre Office将Office文档直接转换为PNG。 不幸的是,这不是PDF的。 这里有一个很好的概述哪些方法是可能的。

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的参考很少: 点击我

我很久以前问过这个问题: 解决方案