Генерация PDF на основе сервера .NET - PullRequest
9 голосов
/ 16 января 2009

Я хотел бы динамически генерировать контент и затем рендерить в файл PDF. Эта обработка будет выполняться на удаленном хостинг-сервере, поэтому использование виртуальных принтеров и т. Д. Запрещено. Есть ли какие-либо рекомендации для библиотеки .NET (pref C #), которая будет работать?

Я знаю, что мог бы сгенерировать кучу кода PS и упаковать его сам, но на этом этапе я бы предпочел что-то более хитрое.

Спасибо!

Ответы [ 11 ]

7 голосов
/ 16 января 2009

Взгляните на http://itextsharp.sourceforge.net/. с открытым исходным кодом.
Учебник: http://itextdocs.lowagie.com/tutorial/

5 голосов
/ 16 января 2009

У меня был хороший успех при использовании SharpPDF .

4 голосов
/ 09 сентября 2013

Бесплатно Генератор PDF .NET (оболочка WkHtmlToPdf) может генерировать красивые PDF из шаблона HTML с одной строкой кода:

var pdfBytes = (new NReco.PdfGenerator.HtmlToPdfConverter()).GeneratePdf(htmlContent);

(все, что вам нужно, это одна DLL, без внешних зависимостей)

4 голосов
/ 16 января 2009

Я успешно использовал Siberix

http://www.siberix.com/

Корпоративная лицензия: 350 долларов США (одна лицензия распространяется на неограниченное количество рабочих мест компании, неограниченное количество веб-серверов компании и неограниченное количество дистрибутивов в составе вашего приложения.)

2 голосов
/ 27 октября 2010

Мы используем Amyuni PDF Converter и успешно используем его в течение нескольких лет. Мы используем интерфейс COM, но он поддерживает интерфейс .NET.

2 голосов
/ 16 января 2009

У меня был хороший опыт работы с Winnovative HTML в PDF .

И плохие с открытым исходным кодом HTML Doc (Проблемы с элементами формы + CSS).

1 голос
/ 11 сентября 2018

Я давно искал высокопроизводительный инструмент docx to pdf. Наша система имеет аспект электронного правительства и генерирует очень большое количество отчетов для сообщества пользователей. На данный момент производительность имеет первостепенное значение.

Более ранние инструменты, которые я использовал, не делали одновременного преобразования, вместо этого каждый exe должен был ждать завершения другого. Я попробовал Aspose.words, и я очень доволен результатами.

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

Во-вторых, скорость конвертирования намного лучше из-за того, что несколько заданий выполняются параллельно.

В-третьих, не только быстро, но даже без ошибок форматирования. Учитывая, что мы предоставляем многоязычную систему, и некоторые отчеты включают в себя как английские, так и арабские поля (обратите внимание на выравнивание справа налево!), Это было очень важно.

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

Нашей первой реализацией была библиотека Microsoft Office Interop. Мы конвертируем docx в pdf документы, используя приведенный ниже код. Эта библиотека прекрасно конвертирует документы docx в pdf файлы, и мы решили загрузить их на сервер генерации отчетов. Но через некоторое время мы заметили, что операции преобразования ждут каждого исполняемого файла. Это приводит к большой задержке при одновременном преобразовании документов, и поэтому мы начинаем искать новый инструмент для преобразования файлов docx в файлы pdf. См. Изображение

Ниже приведен код преобразования документов docx в файлы pdf с помощью инструмента Aspose.Words for .NET. См. Изображение 2

0 голосов
/ 16 января 2009

Мы использовали набор сторонних DLL от PDFSharp , которые в свою очередь используют DLL от MigraDoc. Я не знаю всех причин, по которым мы пошли в этом направлении (решение было принято старшим разработчиком), но я могу вам сказать, что:

  • Кажется, в активном развитие.
  • Это было большая часть функции, которые нам нужны.
  • Исходный код доступен. Хотя он использовал некоторые шаблоны и соглашения, которые я не видел раньше, как только я добрался до им было довольно легко сделать изменения. Я добавил поддержку использования System.Drawing.Image напрямую а не как сохранение файлов.
  • Это также не документировано внутренне или внешне.
0 голосов
/ 16 января 2009

Если ваши данные в основном в формате XML, вы также можете взглянуть на решение XSL-FO - мы с большим успехом используем Xml2Pdf от Alt-Soft *1002*. «Серверная» версия немного ошибочна - на самом деле это просто одна DLL, которую нужно включить в приложение Winforms, WPF или ASP.NET - и все!

Работает как брелок (если вы знакомы с XSLT и XSL-FO или хотите изучать его).

Марк

0 голосов
/ 16 января 2009

Я с большим успехом использовал PDF4NET из O2solutions. Они поддерживают всевозможные сценарии и цифровую подпись PDF.

...