Преобразование документов MS Word в PDF в ASP.NET

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

У нас есть набор документов Microsoft Word на веб-сервере ASP.NET с полями слияния, значения которых заполняются в результате представлений пользовательской формы. После слияния полей сервер должен преобразовать документ в PDF и передать его в браузер. Нашей первой целью было использование Visual Studio Tools for Office API; однако мы столкнулись с это предупреждение от Microsoft:

В настоящее время Microsoft не рекомендует и не поддерживает автоматизацию приложений Microsoft Office от любого бездействия, неинтерактивного клиентского приложения или компонента (включая службы ASP, ASP.NET, DCOM и NT), поскольку Office может проявлять неустойчивость поведение и/или тупик, когда Office запущен в этой среде.

Похоже, что манипуляции с полями можно сделать с помощью Open XML SDK, но лучший способ конвертировать документы Word 2007 в PDF без открытие Word? Оптимальное решение будет недорогим, масштабируемым, иметь небольшой объем памяти, легко развертываться и иметь .NET API.

Ответ 1

Это не точно Open Source, но у Aspose есть несколько продуктов, которые могут это сделать,

Aspose.Pdf.Kit

Aspose.Pdf.Kit - это неграфический компонент обработки документов PDF®, который позволяет как разработчикам .NET, так и Java управлять существующими файлами PDF, а также управлять полями форм, встроенными в файлы PDF. Aspose.Pdf идеально подходит для создания новых файлов PDF; однако разработчикам часто приходится редактировать уже существующие PDF-документы. Aspose.Pdf.Kit позволяет им делать именно это. Aspose.Pdf.Kit позволяет разработчикам создавать мощные приложения для объединения данных непосредственно в документы PDF, а также для обновления и управления PDF-документами. Aspose.Pdf.Kit - замечательный продукт и отлично работает с остальными нашими продуктами PDF.

и Aspose.pdf

Aspose.Pdf - это неграфический компонент представления документов PDF®, который позволяет приложениям .NET или Java создавать PDF-документы с нуля без использования Adobe Acrobat®. Aspose.Pdf очень недорого и предлагает множество сильных функций, включая: сжатие, таблицы, графики, изображения, гиперссылки, безопасность и пользовательские шрифты. Aspose.Pdf поддерживает создание PDF файлов через API, шаблоны XML и файлы XSL-FO. Aspose.Pdf очень прост в использовании и имеет 14 полнофункциональных демонстраций, написанных как на С#, так и на Visual Basic.

Посмотрите API и demos. Вы можете скачать DLL бесплатно, чтобы попробовать. Я использовал оба раньше, и они отлично работают.

Там также iTextSharp, который является портом С# iText, конвертером PDF в формате Java. Я слышал, что некоторые люди испытывают смешанные результаты.

Ответ 2

Вопрос "Документы MS Word для PDF в ASP.NET", поэтому я очень озадачен, почему Aspose.Pdf и Aspose.Pdf.Kit рекомендуются выше. Вы должны использовать Aspose.Words, потому что тот компонент, который поддерживает документы Microsoft Word для преобразования PDF.

Ответ 4

ActivePdf DocConverter - http://www.activepdf.com/

Но для обеспечения хорошего качества требуется сервер Office, установленный на сервере.

Ответ 5

Вам следует попробовать использовать OpenOffice. Он свободен и поддерживает целый ряд конверсий файлов. Я использовал его для преобразования DOC и DOCX файлов в формат HTML с фантастическими результатами.

Ответ 6

ABCpdf - еще один популярный компонент, который позволит вам конвертировать документы Word в PDF под ASP.NET, однако я считаю, что он также использует Microsoft Office или OpenOffice.

http://www.websupergoo.com/abcpdf-office-docs.htm

Ответ 7

Aspose.Words может быть лучшим вариантом для вас, но он не полностью преобразует все визуальные элементы.

Посмотрите Muhimbi PDF Converter Web Services. Он работает в Windows как служба, но может быть доступен из любой среды, не поддерживающей веб-службы, отличной от Windows, включая Java и .NET.

Хотя для этого решения требуется, чтобы MS-Office устанавливался на сервер (не обязательно тот же сервер, что и ваше приложение), он очень надежный и обеспечивает отличную точность преобразования. Это очень важно, чтобы обойти проблемы тупика, о которых Microsoft упоминает в своей статье в КБ.

Чтобы сгенерировать или изменить файлы MS-Word, я рекомендую использовать бесплатный Open XML SDK для Microsoft Office. Эрик Уайт поддерживает действительно хороший блог об этом.

Отказ от ответственности, я работал над этим продуктом. Сказав это, он отлично работает.

Ответ 8

Microsoft PDF надстройка для слова, по-видимому, является лучшим решением на данный момент, но вы должны принять во внимание, что он не конвертирует все словарные документы правильно в pdf, и в некоторых случаях вы увидите огромную разницу между словом и выходом PDF. К сожалению, я не смог найти api, который бы правильно конвертировал все текстовые документы. Единственное решение, которое я нашел для обеспечения конверсии, было на 100% правильным, это преобразование документов через драйвер принтера. Недостатком является то, что документы ставятся в очередь и конвертируются один за другим, но вы можете быть уверены, что приведенный pdf файл в точности соответствует слову documentemtn. Я лично предпочел использовать UDC (Universal document converter) и установил Foxit Reader (бесплатную версию) на сервере, а затем распечатал документы, запустив "Процесс" и установив для своего свойства Verb "print". Вы также можете использовать FileSystemWatcher для установки сигнала после завершения преобразования.