Печать PDF на принтер XPS

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

Печать PDF на принтер XPS в C#

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

Наконец, используйте метод PrintDocumentWithSettings, чтобы напечатать PDF на XPS или другой виртуальный принтер. Следующий фрагмент кода показывает, как напечатать PDF-файл на принтере XPS.

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

    // Открытие входного PDF-файла
    viewer.BindPdf(_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();

    // Установка имени принтера XPS/PDF
    ps.PrinterName = "Microsoft XPS Document Writer";
    // Или установите название принтера PDF
    // Ps.PrinterName = "Adobe PDF";

    // Установка размера страницы (если требуется)
    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();
}