2008-10-01 4 views
16

Аналогичные вопросы были заданы, но ничего похожего на мое, поэтому здесь.Преобразование документов MS Word в PDF в ASP.NET

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

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

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

ответ

12

Это не совсем 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 полнофункциональных демонстраций, написанных как на C#, так и на Visual Basic.

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

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

+1

После того, как вы попробовали несколько разных продуктов, Aspose определенно был голова и плечи выше остальных. Главным недостатком этого является стоимость - это не дешево, но вы получаете то, за что платите. – 2008-11-24 22:07:36

1

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

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

12

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

0

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

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

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

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

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

1

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

1

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

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

0

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

Смежные вопросы