C# Перетворення XPS на PDF | Перетворення OXPS у PDF на C#

XPS (Open XML Paper Specification) і OXPS (OpenXPS) представляють документи з фіксованою сторінкою. Документи XPS схожі на документи PDF тим, що вони зберігають макет і форматування оригінального документа. Однак документи XPS не так широко підтримуються, як документи PDF. Документи PDF (Portable Document Format) широко підтримуються на різних платформах і пристроях. У цій статті ми покажемо вам, як конвертувати XPS або OXPS у PDF на C#.

Ця стаття охоплює такі теми:

  1. API C# для перетворення XPS у PDF
  2. Перетворіть XPS на PDF за допомогою C#
  3. Перетворення певних сторінок XPS на PDF
  4. Конвертер OXPS у PDF на C#
  5. Перетворення певних сторінок OXPS на PDF
  6. Конвертувати файл XPS у PDF онлайн
  7. XPS у PDF - безкоштовні навчальні ресурси

C# API для перетворення XPS у PDF

Ми використовуватимемо API Aspose.Page for .NET для перетворення документа XPS або OXPS у формат PDF. Це потужний API, який дозволяє розробникам створювати, редагувати, маніпулювати та конвертувати XPS і EPS/PS документи. Aspose.Page for .NET — це надійний автономний API, який простий у використанні та інтегрується у ваші програми .NET.

Завантажте DLL API або встановіть його за допомогою такої команди NuGet:

PM> Install-Package Aspose.Page

Перетворення XPS на PDF за допомогою C#

Ми можемо конвертувати весь документ XPS у формат PDF, виконавши наведені нижче дії.

  1. Завантажте вхідний файл XPS.
  2. Ініціалізуйте об’єкт параметрів необхідними параметрами.
  3. Створіть екземпляр PdfDevice для візуалізації.
  4. Експортуйте XPS у PDF-документ.

Наведений нижче зразок коду показує, як конвертувати файл XPS у PDF за допомогою C#.

// Ініціалізувати вихідний потік PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Ініціалізація вхідного потоку XPS
//за допомогою (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.xps", System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.xps", System.IO.FileMode.Open))
{
// Завантажте документ XPS із потоку
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// або завантажити документ XPS безпосередньо з файлу. Тоді xpsStream не потрібен.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());

// Ініціалізація об'єкта опцій необхідними параметрами.
Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
{
    JpegQualityLevel = 100,
    ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
    TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
};
// Створіть пристрій візуалізації для формату PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

Перетворіть певні сторінки XPS у PDF на C#

Ми також можемо конвертувати вибрані сторінки документа XPS у формат PDF, виконавши наведені нижче дії.

  1. Ініціалізація вхідного потоку XPS.
  2. Завантажте документ XPS із потоку.
  3. Ініціалізуйте об’єкт PdfSaveOptions.
  4. Вкажіть номери сторінок для перетворення.
  5. Збережіть документ у форматі PDF.

У наведеному нижче прикладі коду показано, як конвертувати певні сторінки XPS у PDF на C#.

// Ініціалізувати вихідний потік PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Ініціалізація вхідного потоку XPS
//за допомогою (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.xps", System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.xps", System.IO.FileMode.Open))
{
    // Завантажте документ XPS із потоку
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // або завантажити документ XPS безпосередньо з файлу. Тоді xpsStream не потрібен.
    // XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());

    // Ініціалізація об'єкта опцій необхідними параметрами.
    Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
    {
        JpegQualityLevel = 100,
        ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
        TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
        PageNumbers = new int[] {1, 3}
    };
    // Створіть пристрій візуалізації для формату PDF
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

Цей фрагмент коду використовує документ XPS, що містить кілька сторінок, як вхідний файл. У той час як лише номери сторінок 1 і 3 перетворюються на PDF, як зазначено у фрагменті коду. На наступному знімку екрана показано дві сторінки, відтворені як PDF-документ:

XPS в PDF

Конвертер OXPS у PDF на C#

Формат OXPS — це оновлена та вдосконалена форма формату файлу XPS. Однак такі файли не підтримуються деякими старими операційними системами. Ми можемо легко конвертувати документ OXPS у формат PDF, виконавши наведені нижче дії.

  1. Ініціалізація вхідного потоку OXPS.
  2. Завантажте файл OXPS із потоку.
  3. Створіть екземпляр об’єкта класу PdfSaveOptions
  4. Експорт OXPS у файл PDF

У наведеному нижче прикладі коду показано, як конвертувати OXPS у PDF на C#.

// Ініціалізувати вихідний потік PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Ініціалізувати вхідний потік OXPS
//за допомогою (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.oxps", System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.oxps", System.IO.FileMode.Open))
{
// Завантажте документ OXPS з потоку
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// або завантажити документ OXPS безпосередньо з файлу. Тоді xpsStream не потрібен.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());

// Ініціалізація об'єкта опцій необхідними параметрами.
Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
{
    JpegQualityLevel = 100,
    ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
    TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
};
// Створіть пристрій візуалізації для формату PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

Перетворення певних сторінок OXPS у PDF на C#

Так само ми можемо конвертувати певні сторінки з документа OXPS у формат PDF, виконавши наведені нижче дії.

  1. Завантажте файл OXPS
  2. Оголошіть об’єкт PdfSaveOptions.
  3. Встановіть номери сторінок, які потрібно конвертувати.
  4. Перетворення OXPS у PDF.

У наведеному нижче фрагменті коду показано, як конвертувати певні сторінки OXPS у PDF на C#. Він перетворює першу сторінку файлу OXPS на PDF, як зазначено у фрагменті коду.

// Ініціалізувати вихідний потік PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Ініціалізувати вхідний потік OXPS
//за допомогою (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.oxps", System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.oxps", System.IO.FileMode.Open))
{
    // Завантажте документ OXPS з потоку
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // або завантажити документ XPS безпосередньо з файлу. Тоді xpsStream не потрібен.
    // XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());

    // Ініціалізація об'єкта опцій необхідними параметрами.
    Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
    {
        JpegQualityLevel = 100,
        ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
        TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
        PageNumbers = new int[] {1}
    };
    // Створіть пристрій візуалізації для формату PDF
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

Отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію, щоб протестувати бібліотеку без будь-яких обмежень оцінювання.

Перетворення файлу XPS на PDF онлайн

Ви також можете конвертувати файл XPS у PDF онлайн за допомогою цієї програми безкоштовного конвертера XPS у PDF без встановлення будь-якого програмного забезпечення чи плагіна.

Перетворення документа XPS на PDF - Навчальні ресурси

Окрім перетворення документів XPS або OXPS у формат PDF, дізнайтеся більше про бібліотеку та ознайомтеся з різними іншими функціями за допомогою наведених нижче ресурсів:

Висновок

У цій статті ми дізналися, як програмно конвертувати XPS у PDF і OXPS у PDF за допомогою C#. Ми також бачили, як експортувати певні сторінки документа XPS або OXPS у формат PDF. Ви можете глибше вивчити API та оптимізувати робочий процес обробки документів. У разі будь-яких неясностей зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також