API Java для обновления верхних и нижних колонтитулов MS Word и преобразования в PDF

Мне нужен API для поддержки изменения верхнего/нижнего колонтитула doc, docx, xls, xlsx. У меня есть огромный код, написанный для libreoffice, но проблема в том, что окончательный документ имеет испорченный стиль, и это большая проблема. Аналогичные результаты получены с другими проектами с открытым исходным кодом, поэтому я ищу какую-нибудь платную версию, вероятно, такую ​​​​как Aspose, но не могли бы вы также дать мне альтернативные решения.

Другой аспект проблемы заключается в том, что мне нужно преобразовать любой офисный документ, почту, сообщение в pdf.

Я также ищу решения, включая C #, но, скорее всего, он будет работать под Linux, поэтому предпочтение отдается Java.


person hackyou    schedule 16.04.2013    source источник


Ответы (5)


Используя С#, я точно знаю, что вы можете получить доступ к объекту Microsoft Word com. Если вы загружаете все это в новейшее слово Microsoft, вы можете сказать ему конвертировать в pdf прямо здесь и покончить с этим Как преобразовать файлы Word в PDF программно? это то, что я использовал, чтобы начать работу с C#. Apache POI, с которым у меня не было ничего, кроме проблем. Open Office и его UNO Api, как я обнаружил, работают на меня в большинстве случаев, иногда документы действительно выглядят странно. Так что в целом я нашел C# лучшим. Надеюсь, это поможет!

person Joshua    schedule 16.04.2013
comment
Спасибо, Джошуа, у меня такие же наблюдения. Этот процесс выполняется на стороне сервера, поэтому можете ли вы предложить какой-либо API для управления документами с помощью С# в качестве командной строки? - person hackyou; 16.04.2013
comment
Таким образом, мы написали собственную утилиту командной строки для преобразования документов. Пока вы находитесь в .net, все взаимодействие с Microsoft Word защищено. Опять же, если вы используете более новые версии Microsoft Word (2007 и выше), очень легко открыть документ и сказать ему преобразовать (в коде) 2003. Есть способ взлома, который не работает так хорошо. Вот то, что я использовал в качестве примера кода, и это, похоже, сработало для меня. Но опять же вам придется сделать исполняемый файл самостоятельно. - person Joshua; 17.04.2013

С компонентами Aspose Java вы можете обновлять верхний и нижний колонтитулы документов и конвертировать все поддерживаемые типы файлов (doc, docx, xls, xlsx, eml, msg и т. д.) в PDF. Мы стараемся сохранить формат PDF таким же, как исходный документ.

Вы можете попробовать самостоятельно изучить класс PdfSaveOptions или опубликовать проблемные файлы в форумы Aspose, служба технической поддержки постарается решить проблему вопросы.

PS. Я разработчик/евангелист в Aspose.

person Saqib Razzaq    schedule 17.04.2013

В соответствии с вашими запросами я могу думать только об Aspose и IText, вы можете взглянуть на пример кода, который может помочь вам принять решение:

person CloudyMarble    schedule 16.04.2013
comment
Мне нужно манипулировать ими без какой-либо регрессии или изменения формата. Я провел несколько тестов и предположил, что все работает правильно, но не во всех случаях, поэтому я ищу другое решение для проверки. - person hackyou; 16.04.2013

docx4j может делать многое из того, что вы хотите.

Он поддерживает docx, pptx, xlsx.

Для устаревших двоичных документов и xls вы должны преобразовать их в формат docx/xlsx с помощью LibreOffice или OpenOffice через JODConverter.

docx4j может конвертировать docx в PDF. Верность продолжает улучшаться после 2.8.1, поэтому вам следует попробовать ночную сборку.

person JasonPlutext    schedule 23.04.2013

Проблема с poi API, пожалуйста, используйте 3.10 final API, и эта ошибка исправлена ​​в этом API. Проверьте этот пост

В этом посте эта проблема решена.

person jawed nazir    schedule 08.10.2014