Собственный анализатор документов Java и библиотека конвертеров / конвертер документов на основе Linux - PullRequest
4 голосов
/ 05 сентября 2011

Я ищу библиотеку 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/) - удобная библиотека. Однако это только оболочка для открытого офиса, поэтому, если есть проблемы с открытымoffice (и у меня часто возникают проблемы с openoffice) для конвертации документов, они будут у вас также в JodConcerter.

В заключение мне не повезло (до сих пор) найти какую-либо библиотеку конвертации документов, реализованную на нативном языке.Java, который обрабатывает все распространенные форматы документов, ни с открытым исходным кодом, ни даже коммерческие. Кажется, это настоящий пробел на рынке.

Ответы [ 4 ]

2 голосов
/ 09 сентября 2011

RainbowPDF может подойти: это коммерческий инструмент преобразования на основе сервера с Java API.

Если у вас есть сервер Windows, взгляните на NEEVIA Document Converter Pro . Имеет некоторые функции почты.

Apace POI - это интерфейс для чтения содержимого документов Microsoft Office. Вам придется самостоятельно кодировать компоненты для создания и размещения изображений. Тем не менее, он читает формат Outlook MSG.

1 голос
/ 05 сентября 2011

Apache POI - Java API для документов Microsoft . Однако я не знаю, как легко конвертировать проанализированный документ в формат TIFF.

0 голосов
/ 15 сентября 2011

Может быть сочетание разных подходов может быть полезным? В зависимости от ваших требований может быть возможно использовать несколько библиотек для преобразования всех форматов, которыми вы должны управлять: Microsoft Office, Adobe PDF, некоторые другие форматы изображений и простые текстовые файлы.

Я имею в виду, вы можете создать процесс, который, в зависимости от типа извлеченного файла (с помощью Java Mail), вы могли бы распознать, какой формат имеет файл, и продолжить обработку с правильным механизмом преобразования, используя подходящую библиотеку. Затем вы сможете определить, какой файл - это изображение, которое нужно преобразовать, попробуйте Java Advanced Imaging, если это файл Microsoft Office, попробуйте Apache POI и так далее. Для управления файлами PDF вы можете попробовать Apache PDFBox , это еще одно хорошее решение с открытым исходным кодом.

Кстати, если вы ищете не только подход Java, возможно, этот поток может вам помочь.

Я не знаю, есть ли лучшие коммерческие решения, чем прокомментировал @ChrisGer.

0 голосов
/ 14 сентября 2011

Не тратьте свое время на изучение Apache POI, поскольку он может только анализировать содержимое файлов Office, но не подходит для его рендеринга.

Поскольку доступны серверы OpenOffice, я предлагаю вам сделать это,Я также знаю, что вы можете легко использовать DCOM для общения с приложениями Microsoft Office, возможно, мост Java-> DCOM более подходит для этой задачи.Тем не менее, это даже не рекомендуется Microsoft (поэтому я полагаю, что JodConverter одинаково нестабилен).

...