2010-09-28 6 views
5

Ну, на самом деле в названии вопроса говорится все. Уже есть аналогичные вопросы по SO. Но вот некоторые отличия ... Я абсолютно не могу использовать Office на сервере. Я должен иметь возможность конвертировать документ программно. Мне все равно, сколько это стоит. Очевидно, что дешевле лучше, но если у вас есть хорошее предложение, которое окажется дорогим, пожалуйста, не стесняйтесь его включать.Что представляет собой лучшая программа/API для преобразования документов Word в PDF, для которых не требуется установка Office?

------ Edit ------

Я принял ответ OpenOffice.org, потому что казалось самым интригующим. Однако мне действительно интересно, что думают другие люди. Продолжайте отправлять ответы и голосовать, и я соглашусь с тем, что больше всего голосов.

+1

Возможно, вы должны спросить о суперпользователе, stackoverflow - больше для программистов. –

+0

@Tom, «Я должен иметь возможность конвертировать документ программно» ... –

+0

Я действительно рассматривал SuperUser ... но, как сказал матовый, я должен быть в состоянии сделать это программно. – Chaulky

ответ

11

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

+0

Я даже не думал об этом. Я определенно займусь этим. Вы упомянули, что это «Режим сервера». Это означает, что он специально разработан для использования на сервере и не страдает теми же проблемами, что и Office на сервере? – Chaulky

+1

Он специально разработан для этого режима, в отличие от MS Office. Сервер однопоточен, поэтому он не идеален (вам приходится заказывать запросы). По сути, это просто сценарий приложения, но с полностью подавленным графическим интерфейсом. В моем использовании я поставил перед ним веб-службу, которая контролировала ее, поставила в очередь запросы и кэшированные документы (в случае, если один и тот же снова появился). –

0

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

+0

Я знаю, что я сказал, что цена не имеет значения ... но это немного дорого :) – Chaulky

1

Это может помочь вам получить в ответ ...

формат DOCX является Молнии набор файлов. Распакуйте один (переименуйте в .zip) и загляните внутрь.

+0

Но это ничего не делает для меня, если это .doc. Даже если это .docx ... потребовалось бы довольно много работы, чтобы перейти от представления XML документа Word к PDF – Chaulky

1

Если вы загружаете документы (.doc, .docx, .odf) в документы Google, вы можете скачать их в формате PDF. Это простое бесплатное решение, но его сложно интегрировать.

+0

креатив, и я, вероятно, поиграю с этим только из любопытства, но я слышал от других, что он не делает такую ​​большую работу по сохранению всего формата (просто слышишь-скажи) – Chaulky

0

IMO, PDFCreator (с открытым исходным кодом) - лучший выбор для вашего кукол. Установите PDFCreator, а затем посмотрите в подпапку COM, там вы можете найти примеры использования своего API.

+0

Требуется ли это Офис на сервере? Я не могу найти информацию в любом случае. – Chaulky

+0

Нет, PDFCreator не требует Office в любой форме, он может даже конвертировать * любой * документ (созданный любой программой), который можно распечатать. – Vantomex

+0

Спасибо vantomex, я обязательно это проверю. – Chaulky

0

Если вы хотите использовать OpenOffice, то вы можете использовать его из командной строки unoconv с последними LibreOffice. Это работает в целом, но и быть готовым к:

  • есть более причудливое форматирование потерянное,
  • повторить преобразования из-за некоторым исключением на LibreOffice стороне.

Я бы отказался от использования API-интерфейса UNO напрямую. Это возможно (и у вас может быть пул запущенных серверов OpenOffice, которые будут выполнять преобразование), но определенно не просто.

Документы Google для меня бесполезны, так как ограничение на размер файла конверсии составляет 2 МБ.

6

Возможно, вы захотите ознакомиться с API CloudConvert. Они используют родной Office, и они дешевле, чем Aspose.

0

Использование Convert API просто как этот запрос HTTP:

POST https://v2.convertapi.com/doc/to/pdf?Secret=XXX&File=http://example.com/myfile.doc 

если файл доступен из Интернета. Если файл недоступен из Интернета, Convert API поддерживает множество способов передачи файла для преобразования.

0

Я бы порекомендовал использовать механизм преобразования, который поставляется с LibreOffice - в отличие от OpenOffice, вы можете использовать многопоточные преобразования. Он поддерживает как основные преимущества документов Word (то есть .doc, так и .docx) с довольно хорошей точностью и находится в активной разработке.

Разработка правильного заклинания для использования из командной строки может быть сложной задачей, поэтому для облегчения жизни вы можете использовать unoconv, который действует как обертка и делает (некоторые) тяжелую работу для вас. Время от времени ему нужна какая-то рука, поэтому она не полностью автоматизирована.

В качестве альтернативы, если вы хотите еще более простой жизненный опыт, вы можете использовать коммерческий класс API, такой как https://developers.zamzar.com. Эта услуга существует уже более 10 лет, предоставляет API для преобразования файлов с любого языка (PHP, Python, Ruby, Java, .NET и т. Д.) И имеет колокола и свистки, позволяющие импортировать и экспортировать файлы на Amazon S3 и обратно , FTP-серверы и т. Д.

Полное раскрытие информации: Я являюсь ведущим разработчиком API Zamzar.