Как печатать PDF-документы в C# с использованием библиотеки Spire.PDF для .NET
Программная печать PDF-документов — распространённое требование для многих бизнес-приложений. Независимо от того, нужно ли вам генерировать отчёты, счета или другие документы, возможность печатать их прямо из кода на C# может сэкономить время и улучшить рабочий процесс. В этой статье мы рассмотрим, как использовать библиотеку Spire.PDF для .NET для различных сценариев печати PDF.
Библиотека C# для печати PDF
Spire.PDF для .NET — это мощная библиотека, позволяющая разработчикам создавать, редактировать, конвертировать и печатать PDF-документы в .NET-приложениях. Она предоставляет широкие возможности печати, включая:
- Печать PDF-документов на любой установленный принтер
- Настройку параметров печати
- Выбор конкретных страниц или диапазонов страниц
- Контроль качества печати и цветовых параметров
- Тихий вывод на печать без отображения диалоговых окон
Для начала работы установите пакет Spire.PDF через NuGet:
Install-Package Spire.PDF
Печать PDF на принтер по умолчанию
Самый простой способ печати PDF — отправить его на принтер по умолчанию со стандартными настройками:
using Spire.Pdf;
namespace PrintWithDefaultPrinter
{
class Program
{
static void Main(string[] args)
{
// Создаём объект PdfDocument
PdfDocument doc = new PdfDocument();
// Загружаем PDF-файл
doc.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");
// Печатаем на принтере по умолчанию
doc.Print();
}
}
}
Этот код загружает PDF-файл по указанному пути и печатает его на системном принтере по умолчанию со стандартными настройками. Это самый простой подход, когда не требуется специальных конфигураций печати.
Настройка параметров печати
Для более тонкого контроля над процессом печати Spire.PDF позволяет задавать различные параметры принтера. Можно выбрать конкретный принтер, указать диапазон страниц, настроить цветовые параметры и многое другое:
using Spire.Pdf;
namespace PrintWithSpecifiedPrinter
{
class Program
{
static void Main(string[] args)
{
// Создаём объект PdfDocument
PdfDocument doc = new PdfDocument();
// Загружаем PDF-файл
doc.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");
// Указываем имя принтера
doc.PrintSettings.PrinterName = «HP LaserJet P1007»;
// Выбираем диапазон страниц для печати
doc.PrintSettings.SelectPageRange(1, 5);
// Выбираем отдельные страницы для печати
//doc.PrintSettings.SelectSomePages(new int[] { 1, 3, 5, 7 });
// Печатаем в чёрно-белом режиме
doc.PrintSettings.Color = false;
// Включаем двустороннюю печать
doc.PrintSettings.Duplex = Duplex.Default;
// Печатаем документ
doc.Print();
}
}
}
Основные настраиваемые параметры печати:
- PrinterName: выбор конкретного принтера
- SelectPageRange(): печать диапазона страниц
- SelectSomePages(): печать отдельных, не последовательных страниц
- Color: установка в false для чёрно-белой печати
- Duplex: включение двусторонней печати
- Copies: установка количества копий для печати
Тихая печать PDF
В некоторых сценариях, особенно в серверных или автоматизированных процессах, может потребоваться печать документов без отображения диалоговых окон. Вот как реализовать тихую печать:
using Spire.Pdf;
using System.Drawing.Printing;
namespace PrintPdfSilently
{
class Program
{
static void Main(string[] args)
{
// Создаём объект PdfDocument
PdfDocument doc = new PdfDocument();
// Загружаем PDF-файл
doc.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");
// Указываем имя принтера
doc.PrintSettings.PrinterName = «HP LaserJet P1007»;
// Блокируем появление диалогового окна печати
doc.PrintSettings.PrintController = new StandardPrintController();
// Печатаем документ
doc.Print();
}
}
}