Печать PDF в .NET Framework

Следующий фрагмент кода также работает с библиотекой Aspose.PDF.Drawing.

Печать PDF-файла в C# - Печать PDF-файла на принтере по умолчанию с использованием настроек принтера и страницы

В этой статье описывается, как напечатать PDF-файл на принтере по умолчанию с использованием настроек принтера и страницы в C#.

Класс PdfViewer позволяет напечатать PDF-файл на принтере по умолчанию. Вам нужно создать объект PdfViewer и открыть PDF с помощью метода BindPdf. Для указания различных настроек печати используйте классы PageSettings и PrinterSettings. Наконец, вызовите метод PrintDocumentWithSettings, чтобы напечатать PDF на принтере по умолчанию. Следующий фрагмент кода показывает, как напечатать PDF на принтере по умолчанию с настройками принтера и страницы.

public static void SimplePrint()
{
    // Создать объект PdfViewer
    PdfViewer viewer = new PdfViewer();

    // Открыть входной PDF-файл
    viewer.BindPdf(System.IO.Path.Combine(_dataDir, "input.pdf"));

    // Установить атрибуты для печати
    viewer.AutoResize = true;         // Печатать файл с корректировкой размера
    viewer.AutoRotate = true;         // Печатать файл с корректировкой поворота
    viewer.PrintPageDialog = false;   // Не выводить диалог номера страницы при печати

    // Создать объекты для настроек принтера и страницы и PrintDocument
    System.Drawing.Printing.PrinterSettings ps = new System.Drawing.Printing.PrinterSettings();
    System.Drawing.Printing.PageSettings pgs = new System.Drawing.Printing.PageSettings();
    System.Drawing.Printing.PrintDocument prtdoc = new System.Drawing.Printing.PrintDocument();

    // Установить имя принтера
    ps.PrinterName = prtdoc.PrinterSettings.PrinterName;

    // Установить размер страницы (если требуется)
    pgs.PaperSize = new System.Drawing.Printing.PaperSize("A4", 827, 1169);

    // Установить поля страницы (если требуется)
    pgs.Margins = new System.Drawing.Printing.Margins(0, 0, 0, 0);

    // Напечатать документ, используя настройки принтера и страницы
    viewer.PrintDocumentWithSettings(pgs, ps);

    // Закрыть PDF-файл после печати
    viewer.Close();
}

Для отображения диалога печати используйте следующий фрагмент кода:

System.Windows.Forms.PrintDialog printDialog = new System.Windows.Forms.PrintDialog();
if (printDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
    // Здесь идет код печати документа
    // Печать документа с использованием настроек принтера и страницы
    viewer.PrintDocumentWithSettings(pgs, ps);
}