【问题标题】:Native Java document parser and converter library / linux based document converters本机 Java 文档解析器和转换器库/基于 linux 的文档转换器
【发布时间】:2011-09-05 08:10:42
【问题描述】:

我正在寻找可以执行以下操作的 Java 库:

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

它可以是开源的,也可以是商业库。或者,我正在寻找用于 linux 的命令行工具来执行此操作。我们已经尝试过开放式办公,但是某些文档格式存在太多问题。

更新:

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

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

对于转换文档,JodConverter (http://code.google.com/p/jodconverter/) 是一个舒适的库。但是它只是 open office 的包装,所以如果 open office 有问题(我确实经常遇到 openoffice 问题)来转换文档,你也可以使用 JodConcerter。

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

【问题讨论】:

标签: java linux parsing document converter


【解决方案1】:

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

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

APACE POI 是一个读取 Microsoft Office 文档内容的接口。您必须自己编写图像生成和布局组件。但是它会读取 Outlook MSG 格式。

【讨论】:

  • 我查看了 RainbowPDF 试用版。昂贵但很好。对于我的要求,它有一个缺点,它不能在 linux 上转换为 TIFF 格式。
  • 尽管他们网站上的注释(仅限 TIFF、PNG、JPG windows)我从支持人员那里得到了这个答案:“Rainbow PDF Server Based Converter 可以在 Solaris 8,9 和 10 上运行,并且还能够转换为 PNG 和 JPEG”。所以要么请求对 linux 和 TIFF 的支持,要么获得试用版。
  • 我测试了试用版,并联系了他们的支持。他们告诉我他们也支持debian。 TIFF for linux 是经常被问到的功能,但还没有出现在他们的路线图上。总之,这是一款不错的软件,但如果您想在 sas 环境中使用它,它的成本会很高。
【解决方案2】:

Apache POI - Microsoft 文档的 Java API。但是我不知道如何轻松地将解析后的文档转换为 TIFF。

【讨论】:

  • 这个库仅适用于 microsoft 文档,不会解析电子邮件中的附件。
【解决方案3】:

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

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

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

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

【讨论】:

    【解决方案4】:

    不要浪费时间看 Apache POI,因为它只能解析 Office 文件的内容,不适合渲染它。

    由于有可用的 OpenOffice 服务器,我建议您这样做。我还知道您可以轻松地使用 DCOM 与 Microsoft Office 应用程序对话,也许 Java->DCOM 桥更能胜任这项任务。然而,微软甚至不推荐这样做(所以我认为 JodConverter 的东西同样不稳定)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-17
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2019-04-27
      相关资源
      最近更新 更多