Добавляйте и управляйте тикеты на печать
Создавайте, редактируйте, связывайте и получайте билеты на печать файлов XPS с помощью C#
Все форматы языка описания страниц поддерживают печать. Некоторые из них, например PDF, поддерживают высококачественную печать с различными цветовыми пространствами и средами, не зависящими от разрешения. Поскольку XPS предназначался для печати на обычных офисных принтерах, он поддерживает меньше цветовых пространств и всего 2 типа шрифтов. Решение Aspose.Page API, среди прочих функций, позволяет работать с печатными билетами. Здесь вы найдете информацию, объясняющую, как их создавать, редактировать, получать и связывать.
Чтобы манипулировать билетами на печать файлов XPS, нам нужно:
Aspose.Page for .NET API — многофункциональное, мощное и простое в использовании API решение для обработки и преобразования документов для платформы C#.
Откройте диспетчер пакетов NuGet, найдите Aspose.Page и установите. Вы также можете использовать следующую команду из консоли диспетчера пакетов.
Package Manager Console Command
PM> Install-Package Aspose.Page
Порядок действий по созданию пользовательского билета на печать C# .NET.
- Укажите путь к каталогу документов.
- Создайте XPS-файл, используя XpsDocument Class .
- Добавьте пользовательский билет печати задания с помощью конструктора JobPrintTicket .
- Добавьте в заявку инициализатор параметров пользовательской страницы и параметр разрешения пользовательской страницы.
- Сохраните измененный документ XPS с помощью метода XPsDocument.Save() .
Код С# для печати билетов в файле XPS
using Aspose.Page.XPS;
using Aspose.Page.XPS.XpsMetadata;
using Aspose.Page.XPS.XpsModel;
using System.Drawing;
using System;
// The path to the documents directory.
string dir = RunExamples.GetDataDir_WorkingWithPrintTickets();
// Create a new XPS document
XpsDocument xDocs = new XpsDocument();
// Add a custom job print ticket
xDocs.JobPrintTicket = new JobPrintTicket(
new PageDevModeSnaphot("SABlAGwAbABvACEAAAA="), // Custom page parameter initializer
new DocumentCollate(Collate.CollateOption.Collated),
new JobCopiesAllDocuments(1),
new PageICMRenderingIntent(PageICMRenderingIntent.PageICMRenderingIntentOption.Photographs),
new PageColorManagement(PageColorManagement.PageColorManagementOption.None),
new JobNUpAllDocumentsContiguously(
new NUp.PresentationDirection(NUp.PresentationDirection.PresentationDirectionOption.RightBottom),
new Borders(Borders.BordersOption.On) /* Custom nested feature */).AddPagesPerSheetOption(1),
new PageMediaSize(PageMediaSize.PageMediaSizeOption.NorthAmericaLetter),
new JobInputBin(InputBin.InputBinOption.AutoSelect),
new JobDuplexAllDocumentsContiguously(Duplex.DuplexOption.OneSided),
new PageOrientation(PageOrientation.PageOrientationOption.Portrait),
new PageResolution(
new PageResolution.PageResolutionOption("ns0000:ESDL300x300") // Custom page resolution option
.SetResolutionX(300).SetResolutionY(300)),
new PageMediaType(PageMediaType.PageMediaTypeOption.Plain),
new PageOutputColor(PageOutputColor.PageOutputColorOption.Color.Clone().SetDeviceBitsPerPixel(0).SetDriverBitsPerPixel(24)));
// Save the document with the custom job print ticket.
xDocs.Save(dir + "output1.xps");
Порядок действий по редактированию билета на печать XPS через C# .NET.
- Укажите путь к каталогу документов.
- Откройте документ XPS с билетами на печать, используя класс XpsDocument.
- Чтобы удалить ненужные параметры из заявки, используйте метод Remove() .
- Сохраните документ с измененным табелем печати с помощью метода XPsDocument.Save().
Код С# для редактирования билетов на печать в файле XPS
// The path to the documents directory.
string dir = RunExamples.GetDataDir_WorkingWithPrintTickets();
// Open the XPS Document with print tickets
XpsDocument xDocs = new XpsDocument(dir + "input3.xps");
JobPrintTicket pt = xDocs.JobPrintTicket;
// Remove some parameters from the job print ticket
pt.Remove(
"ns0000:PageDevmodeSnapshot",
"ns0000:JobInterleaving",
"ns0000:JobImageType");
// Add some parameters to the job print ticket
pt.Add(
new JobCopiesAllDocuments(2),
new PageMediaSize(PageMediaSize.PageMediaSizeOption.ISOA4));
// Save the document with the changed job print ticket.
xDocs.Save(dir + "output3.xps");
Шаги для получения билета на печать через C# .NET.
- Укажите путь к каталогу документов.
- Откройте документ XPS с билетами на печать, используя класс XpsDocument.
- Создайте билет печати задания с помощью конструктора JobPrintTicket.
- Создайте билет печати документа с помощью метода GetDocumentPrintTicket() .
- Получите билет на печать страницы, используя метод GetPagePrintTicket() .
- Сохраните документ с измененным табелем печати с помощью метода XPsDocument.Save().
Код С# для получения билетов на печать в файле XPS
// The path to the documents directory.
string dir = RunExamples.GetDataDir_WorkingWithPrintTickets();
// Open the XPS Document without print tickets
XpsDocument xDocs = new XpsDocument(dir + "input1.xps");
// Get the job print ticket
JobPrintTicket jobPrintTicket = xDocs.JobPrintTicket; // must be null for this document
// Get the document print ticket
DocumentPrintTicket docPrintTicket = xDocs.GetDocumentPrintTicket(1); // must be null for this document
// Get the page print ticket
PagePrintTicket pagePrintTicket = xDocs.GetPagePrintTicket(1, 1); // must be null for this document
// Save the document. Default print tickets are automatically added to document while saving.
xDocs.Save(dir + "output1.xps");
// Open the saved earlier XPS Document with print tickets
XpsDocument xDocs2 = new XpsDocument(dir + "output1.xps");
// Print tickets must not be null
Console.WriteLine(xDocs2.JobPrintTicket);
Console.WriteLine(xDocs2.GetDocumentPrintTicket(1));
Console.WriteLine(xDocs2.GetPagePrintTicket(1, 1));
Порядок действий по связыванию билетов на печать файла XPS через C# .NET.
- Укажите путь к каталогу документов.
- Создайте новый XPS-файл и откройте XPS-документ с билетами на печать, используя XpsDocument Class.
- Откройте документ XPS с билетами на печать, используя XpsDocument Class
- Свяжите билет печати задания с конструктором JobPrintTicket.
- Связать билет печати документа с помощью методов GetDocumentPrintTicket() и SetDocumentPrintTicket()
- Свяжите билет печати страницы с помощью методов GetPagePrintTicket() и SetPagePrintTicket() .
- Сохраните документ с измененным табелем печати с помощью метода XPsDocument.Save().
Код C# для связывания печатных билетов в файле XPS
// The path to the documents directory.
string dir = RunExamples.GetDataDir_WorkingWithPrintTickets();
// Create a new XPS document
XpsDocument xDocs1 = new XpsDocument();
// Open the XPS Document with print tickets
XpsDocument xDocs2 = new XpsDocument(dir + "input2.xps");
// Link the job print ticket
xDocs1.JobPrintTicket = xDocs2.JobPrintTicket;
// Link the document print ticket
xDocs1.SetDocumentPrintTicket(1, xDocs2.GetDocumentPrintTicket(2));
// Link the page print ticket
xDocs1.SetPagePrintTicket(1, 1, xDocs2.GetPagePrintTicket(3, 2));
// Save the document with linked print tickets.
xDocs1.Save(dir + "output1.xps");
Часто задаваемые вопросы
1. Как создать билет на печать для файла XPS?
Чтобы создать билет печати (или информацию о печати) для документа перед отправкой его на принтер, используйте JobPrintTicket Класс.
2. Какие операции с билетами печати доступны в решении Aspose.Page API?
С помощью этого решения .NET вы можете создавать, редактировать, получать и связывать информацию для печати.
3. Как я могу редактировать информацию о печати файла XPS?
Задайте путь и откройте документ XPS с билетами на печать. Используйте методы класса PrintTicket.
XPS Формат файла XPS
Формат XPS похож на формат PDF. Оба являются форматами языка описания страниц (PDL). EPS основан на HTML, а не на языке PostScript. Файл .eps может содержать разметку структуры документа вместе с информацией о том, как документ будет выглядеть. Также добавлены инструкции о том, как распечатать и визуализировать документ. Особенность формата в том, что он фиксирует описание документа, а значит, он будет выглядеть одинаково независимо от того, кто и из какой операционной системы его открывает.