本机Java文档解析器和转换器库/基于linux的文档转换器

本机Java文档解析器和转换器库/基于linux的文档转换器,java,linux,parsing,document,converter,Java,Linux,Parsing,Document,Converter,我正在寻找一个Java库,它可以执行以下操作: 以*.eml或*.msg格式解析DOC、DOCX、JPEG、PNG、GIF、TXT、XLS、XLSX、PPT、PDF类型附件的电子邮件,并将附件转换为TIFF格式 它可以是开源的,也可以是商业图书馆。或者,我正在寻找用于linux的命令行工具来实现这一点。我们已经尝试了open office,但某些文档格式存在太多问题 更新: 到目前为止,我通过研究发现: 用于解析电子邮件和提取附件,JavaMail(http://www.oracle.com/t

我正在寻找一个Java库,它可以执行以下操作:

以*.eml或*.msg格式解析DOC、DOCX、JPEG、PNG、GIF、TXT、XLS、XLSX、PPT、PDF类型附件的电子邮件,并将附件转换为TIFF格式

它可以是开源的,也可以是商业图书馆。或者,我正在寻找用于linux的命令行工具来实现这一点。我们已经尝试了open office,但某些文档格式存在太多问题

更新:

到目前为止,我通过研究发现:

用于解析电子邮件和提取附件,JavaMail(http://www.oracle.com/technetwork/java/javamail/index.html)这是个不错的选择

对于转换文档,JodConverter(http://code.google.com/p/jodconverter/)这是一个舒适的图书馆。然而,它只是openoffice的包装器,因此如果openoffice在转换文档时出现问题(我也经常遇到openoffice的问题),那么JodConcerter也会遇到这些问题

总之,到目前为止,我还没有找到任何用原生java实现的文档转换库,它处理所有通用文档格式,既不是开源的,也不是商业的。这似乎是一个真正的市场缺口。

-JavaAPI for Microsoft文档。但是,我不知道如何轻松地将解析后的文档转换为TIFF。

可能适合:它是一个基于服务器的商业转换工具,使用Java API

如果您有Windows服务器,请查看。它有一些邮件功能


Apace POI是一个用于读取Microsoft Office文档内容的界面。您必须自己编写图像生成和布局组件的代码。尽管它读取Outlook MSG格式。

不要浪费时间查看Apache POI,因为它只能解析Office文件的内容,但不适合呈现它


既然有可用的OpenOffice服务器,我建议您这样做。我还知道,您可以轻松地使用DCOM与Microsoft Office应用程序进行对话,也许Java->DCOM桥接器更适合此任务。然而,微软甚至不推荐使用这种方法(因此我认为JodConverter也同样不稳定)。

不同方法的组合是否有用?根据您的要求,可以使用多个库转换您需要管理的所有格式:Microsoft Office、Adobe PDF、一些不同的图像格式和简单文本文件

我的意思是,您可以创建一个流程,根据提取的文件的类型(使用Java Mail),您可以识别文件的格式,并使用合适的库使用正确的转换机制继续处理。然后,您将确定文件是否是要转换的图像,尝试Java高级图像处理,如果是Microsoft Office文件,尝试Apache POI等等。对于管理PDF文件,您可以尝试它是另一个好的开源解决方案

顺便说一句,如果您不仅在寻找Java方法,它可能会对您有所帮助


我不知道是否有比@ChrisGer评论的更好的商业解决方案。

我知道有一些工具可以立即从图像文件转换到TIFF,所以这里介绍了您。现在,您可以从DOC到ODF再到PDF再到TIFF。与XLS和PDF类似。至于将这些工具串在一起…从功能集来看,这个库满足了我的需要,不幸的是,它不是java。我在上找到了一些东西,但它看起来有点过时,我将检查它是否继续。这个库仅用于microsoft文档,不解析电子邮件中的附件。我检查了RainbowPDF试用版。贵但好。对于我的要求,它有一个缺点,它不能在linux上转换为TIFF格式。尽管他们的网站上有说明(仅限TIFF、PNG、JPG windows),我还是从支持人员那里得到了这个答案:“基于Rainbow PDF服务器的转换器可以在Solaris 8、9和10上运行,也可以转换为PNG和JPEG”。所以,要么请求linux和TIFF的支持,要么获得试用版。我测试了试用版,并联系了他们的支持人员。他们告诉我他们也支持debian。TIFF for linux是常见的功能,但尚未出现在他们的路线图上。总之,如果您想在sas环境中使用它,它是一款不错的软件,但价格昂贵。