Добавляйте и управляйте тикеты на печать

Создавайте, редактируйте, связывайте и получайте билеты на печать файлов 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.

  1. Укажите путь к каталогу документов.
  2. Создайте XPS-файл, используя XpsDocument Class .
  3. Добавьте пользовательский билет печати задания с помощью конструктора JobPrintTicket .
  4. Добавьте в заявку инициализатор параметров пользовательской страницы и параметр разрешения пользовательской страницы.
  5. Сохраните измененный документ 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.

  1. Укажите путь к каталогу документов.
  2. Откройте документ XPS с билетами на печать, используя класс XpsDocument.
  3. Чтобы удалить ненужные параметры из заявки, используйте метод Remove() .
  4. Сохраните документ с измененным табелем печати с помощью метода 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.

  1. Укажите путь к каталогу документов.
  2. Откройте документ XPS с билетами на печать, используя класс XpsDocument.
  3. Создайте билет печати задания с помощью конструктора JobPrintTicket.
  4. Создайте билет печати документа с помощью метода GetDocumentPrintTicket() .
  5. Получите билет на печать страницы, используя метод GetPagePrintTicket() .
  6. Сохраните документ с измененным табелем печати с помощью метода 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.

  1. Укажите путь к каталогу документов.
  2. Создайте новый XPS-файл и откройте XPS-документ с билетами на печать, используя XpsDocument Class.
  3. Откройте документ XPS с билетами на печать, используя XpsDocument Class
  4. Свяжите билет печати задания с конструктором JobPrintTicket.
  5. Связать билет печати документа с помощью методов GetDocumentPrintTicket() и SetDocumentPrintTicket()
  6. Свяжите билет печати страницы с помощью методов GetPagePrintTicket() и SetPagePrintTicket() .
  7. Сохраните документ с измененным табелем печати с помощью метода 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 может содержать разметку структуры документа вместе с информацией о том, как документ будет выглядеть. Также добавлены инструкции о том, как распечатать и визуализировать документ. Особенность формата в том, что он фиксирует описание документа, а значит, он будет выглядеть одинаково независимо от того, кто и из какой операционной системы его открывает.