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

StackOverflow https://stackoverflow.com/questions/159744

  •  03-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

Это было полезно?

Решение

Это не совсем открытый исходный код, но у 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 и демо-версии.Вы можете бесплатно скачать DLL-файл, чтобы опробовать его.Я использовал и то, и другое раньше, и они отлично работают.

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

Другие советы

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

Ознакомьтесь с ресурсом Microsoft по Сохранение документов Word 2007 в форматах PDF и XPS используя C # или VB.

ActivePDF DocConverter - преобразователь - http://www.activepdf.com/

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

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top