Конвертировать произвольный документ в PDF с помощью командной строки - PullRequest
0 голосов
/ 09 июля 2009

Я ищу простой (бесплатный) способ преобразования произвольного документа в PDF из программы. Существует множество бесплатных принтеров PDF, но мне нужно иметь возможность вызывать преобразование в программе без участия человека. Программа разрабатывается на Java, но будет работать исключительно в среде Windows, поэтому вызов exe-файла кажется хорошим решением, если такая программа преобразования существует.

Ответы [ 3 ]

2 голосов
/ 09 июля 2009

У меня был некоторый успех с JodConverter , который является Java-оберткой вокруг API OpenOffice.org. По сути, вы можете запустить OpenOffice как сервер и автоматизировать действие по открытию документа в OpenOffice (который поддерживает множество типов) и сохранению его в формате PDF. JodConverter делает это намного проще и имеет встроенную поддержку для работы в качестве веб-службы, если вы заинтересованы в этом.

Недостатки: 1) Как и сам OpenOffice, преобразование для некоторых сложных проприетарных документов не является идеальным; некоторые из ваших документов Word могут выглядеть не совсем так, как PDF-файлы. 2) OpenOffice как сервер не является полностью стабильным; если вы нажмете на него кучу запросов, он потерпит крах. Один (несколько дорогой - я думаю, несколько тысяч долларов США) альтернативный сервер Sun StarOffice , который делает то же самое, что и JodConverter (обертка OpenOffice), но добавляет пул экземпляров OpenOffice и другую поддержку стабильности.

Самые точные инструменты преобразования PDF созданы Adobe (и у них есть серверные конвертеры с поддержкой API), но они очень дороги - десятки тысяч долларов США.

1 голос
/ 10 июля 2009

просто ... бесплатно ... pdf ... произвольный ввод ... По крайней мере, требования просты и разумны.

Серьезно, эти требования просто не будут выполнены. Если вы готовы платить деньги за библиотеку, которая делает некоторые из этого, вы можете проверить Amyuni - Это отличная библиотека, но тип материала, который вы запрашиваете, прямо на родной земле win32 - не то, что произойдет в Java. И даже с этим все будет не просто.

Полагаю, вы могли бы что-то сделать и с Ghostscript (многие бесплатные конвертеры PDF используют его). Но даже тогда вам все равно придется иметь дело с преобразованием из произвольной входной проблемы.

Существуют другие доступные библиотеки, которые могут отображать множество различных форматов файлов (даже без встроенного приложения) - возможно, что-то подобное будет работать. Вот один из них (сейчас принадлежит Oracle, так что вы знаете, что это должно быть хорошо ;-): Outside In .

(Кстати - iText определенно не собирается делать то, о чем вы просите. Мне нравится iText, я использую iText - черт, я разработчик для части iText - но это определенно не драйвер печати PDF, что больше соответствует тому, что вы собираетесь).

0 голосов
/ 09 июля 2009

для Java, наиболее рекомендуемым является iText

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...