Это довольно сложная задача, еще сложнее, если вы хотите получить идеальные результаты (невозможно без использования Word), так как количество API, которые просто делают все это для вас на чистой Java и имеют открытый исходный код, равно нулю ( Обновление: я не прав, см. Ниже ).
Ваши основные параметры следующие:
- Использование сценария JNI / веб-службы C # и т. Д. MS Office (только опция для 100% идеальных результатов)
- Использование доступного скрипта API Open Office (на 90% лучше)
- Используйте Apache POI & iText (очень большая работа, она никогда не будет идеальной).
Обновление - 2016-02-11
Вот урезанная копия моего сообщения в блоге на эту тему, в которой описаны существующие продукты, поддерживающие преобразование Word в PDF в Java.
Преобразование документов Microsoft Office (Word, Excel) в PDF-файлы на Java
Три продукта, о которых я знаю, могут отображать документы Office:
yeokm1 / документы к PDF-конвертер
Неправильное обслуживание, Чистая Java, Открытый исходный код
Связывает несколько библиотек для выполнения преобразования.
xdocreport
Активно разработано, Pure Java, Open Source
Это Java API для объединения XML-документа, созданного с помощью MS Office (docx) или OpenOffice (odt), LibreOffice (odt) с моделью Java для генерации отчета и преобразования его, если вам нужен другой формат (PDF, XHTML ...).
SDK со снежными изображениями
Закрытый источник, чистая Java
Snowbound является 100% Java-решением и стоит более 2500 долларов. Он содержит примеры, описывающие, как конвертировать документы в ознакомительную загрузку.
OpenOffice API
Открытый исходный код, а не чистая Java - требуется установленный Open Office
OpenOffice - это встроенный пакет Office, который поддерживает API Java. Это поддерживает чтение документов Office и написание документов PDF. SDK содержит пример преобразования документов (examples / java / DocumentHandling / DocumentConverter.java). Для записи PDF-файлов вам нужно передать писателя «writer_pdf_Export», а не «MS Word 97».
Или вы можете использовать API-оболочку JODConverter .
JDocToPdf - Мертв с 2016-02-11
Использует Apache POI для чтения документа Word и iText для записи PDF. Полностью бесплатная, 100% Java, но имеет некоторые ограничения .