.NET библиотека для печати файлов PDF - PullRequest
24 голосов
/ 14 февраля 2011

Я ищу библиотеку, которая может принять уже созданный файл PDF и отправить его прямо на принтер.Я не хочу, чтобы пользователю был нужен Adobe Reader или что-либо еще установленное, приложение сгенерирует PDF, и я хочу напечатать его.

Ответы [ 6 ]

5 голосов
/ 14 февраля 2011

Извините, мой первый ответ (так как удален - ответ FGITW, говорящий просто используйте iTextSharp ) предполагал, что это PDF FAQ # 1, тогда как на самом деле это был PDF FAQ # ~ 5, я виноват ...

Нет системной обработки PDF, предоставляемой системой, поэтому вне приложения, такого как FoxIt или Acrobat - который вы не должны сбрасывать со счетов слишком быстро - люди, которые используют PDF, будут иметь один или другой, и будут выбирать, какой из них они предпочитают, поскольку они не все равны, особенно если вы получаете более продвинутые функции и их соответствующие схемы лицензирования и монетизации.

Не известно ни о каких конкретных библиотеках, отвечающих этому требованию, хотя другой вопрос, на который я ссылался выше, должен иметь хороший ответ. ... исследования; время идет ... Ответ на другой вопрос говорит PDFSharp должно подойти, образец выглядит просто.

При отражении, основанном на просмотре часто задаваемых вопросов по вики Pdfsharp, iTextSharp имеет аналогичные материалы для генерации TIFF / изображений , как и PDFSharp.

Альтернативой, которая может или не может входить в сферу применения, является создание и / или преобразование, например, в файл XPS, который имеет встроенную поддержку печати (уверен, что в .NET 3.5 и, возможно, раньше он был в качестве стандартного компонента). в профиле клиента).

Один момент, который нельзя упускать во всем этом, - это то, что книга Lowagie (iText In Action) превосходна, и если вы собираетесь что-то делать при чтении, написании или предоставлении PDF-форм , вы должны иметь его на полке. Точно так же, если вы идете по маршруту библиотеки FLOSS, iText должен быть серьезно рассмотрен.

4 голосов
/ 14 февраля 2011

Мне не известны какие-либо библиотеки с открытым / открытым исходным кодом, доступные для этого, но после оценки нескольких я выбрал cete DynamicPDF Print Manager.NET .Он был безусловно самым эффективным с точки зрения системных ресурсов, а именно оперативной памяти.Другие продукты, которые я пробовал, были от Tall Components, Gnostice и BCL EasyPDF SDK .Все они использовали большие объемы оперативной памяти по сравнению с продуктом Cete.В Print Manger есть хорошая документация, она проста в использовании.

Вы также можете вызвать gsprint из .NET, часть gsview , которая является FOSS GUI для GhostScript.Я не пошел по этому пути, но также заметил, что он использует больше системных ресурсов, чем Dynamic PDF.Если бы вы могли, вероятно, упаковать его с вашим программным обеспечением, чтобы он был более прозрачным для пользователя.Я знаю, что это не соответствует вашим критериям, но, похоже, это единственно возможное бесплатное решение.

Если вы сталкиваетесь с PDFSharp, обратите внимание, что для печати он использует Adobe Reader.

В PDFBox Apache есть утилита командной строки PrintPDF, которую вы также можете вызыватьиз .NET.Я столкнулся с ним после того, как приобрел Диспетчер печати, поэтому я еще не пробовал.

Обновление: вы можете использовать Sumatra PDF для печати в режиме без вывода сообщений из командной строки .Я подозреваю, что он растеризует PDF перед отправкой на принтер, но для небольших файлов, которые должны работать.

1 голос
/ 15 июня 2016

Надеюсь, это кому-нибудь поможет.Посмотрев в Интернете, я нашел эту замечательную библиотеку с открытым исходным кодом (C #), и она прекрасно мне подходит.

0 голосов
/ 08 сентября 2017

Бесплатный PDFiumViewer поставляется через Nuget и имеет возможности печати, см. Пример кода здесь.

Очень прост в использовании - хотя поиск у меня занял много времени - поэтому я публикую его для людей, которые ищут "неправильный" вопрос:

https://stackoverflow.com/a/41751184/586754

0 голосов
/ 31 января 2013

Есть несколько коммерческих библиотек.Я, например, рекомендовал бы http://pdfprinting.net.

PS Я работаю в компании, предлагающей это решение.

0 голосов
/ 27 февраля 2011

Вы можете попробовать PDFView4NET .Он поддерживает печать файлов PDF и преобразование страниц PDF в изображения.

Отказ от ответственности: я работаю в компании, которая разрабатывает PDFView4NET.

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