File XPS dan OXPS sering digunakan untuk pencetakan karena independensi resolusinya. Namun, terkadang kita perlu mengonversi XPS ke PDF atau OXPS ke PDF. Aspose.Page for .NET API memungkinkan Anda melakukan konversi ini dengan fidelitas tinggi dan rendering cepat. Mari kita jelajahi kasus penggunaan berikut:

Konversi XPS ke PDF Secara terprogram menggunakan C#

Konversi XPS ke PDF sederhana dengan Aspose.Page for .NET API. Kami akan mempelajari pendekatan berikut untuk melakukan konversi file XPS:

i) Konversikan Halaman Tertentu XPS ke PDF di C#

Untuk mengonversi halaman terpilih dari dokumen XPS ke PDF, ikuti langkah-langkah di bawah ini:

  1. Inisialisasi aliran input XPS
  2. Muat dokumen XPS dari aliran
  3. Inisialisasi objek PdfSaveOptions.
  4. Tentukan nomor halaman untuk konversi
  5. Simpan dokumen sebagai file PDF

Cuplikan kode di bawah mengikuti langkah-langkah ini dan menunjukkan cara mengonversi XPS ke PDF menggunakan C#:

// Inisialisasi aliran keluaran PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inisialisasi aliran masukan XPS
//menggunakan (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))
{
    // Muat dokumen XPS dari aliran
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // atau muat dokumen XPS langsung dari file. Tidak diperlukan xpsStream.
    // Dokumen XpsDocument = XpsDocument baru(inputFileName, XpsLoadOptions baru());

    // Inisialisasi objek opsi dengan parameter yang diperlukan.
    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}
    };
    // Buat perangkat rendering untuk format PDF
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

Cuplikan kode ini menggunakan dokumen XPS yang berisi beberapa halaman, sebagai file masukan. Padahal, hanya halaman nomor 1 dan 3 yang dikonversi ke PDF seperti yang tertera di code snippet. Tangkapan layar berikut menampilkan 2 halaman yang dirender ke dokumen PDF:

XPS ke PDF

ii) Konversikan Semua Halaman XPS ke PDF dalam C#

Anda dapat mengonversi seluruh file XPS ke PDF. Ikuti langkah-langkah di bawah ini dan semua halaman file XPS akan diubah menjadi file PDF:

  1. Muat masukan file XPS
  2. Inisialisasi objek opsi dengan parameter yang diperlukan
  3. Buat instance PdfDevice untuk rendering
  4. Ekspor dokumen XPS ke PDF

Cuplikan kode di bawah ini didasarkan pada semua langkah berikut yang menunjukkan cara mengonversi file XPS ke PDF menggunakan bahasa C#:

// Inisialisasi aliran keluaran PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inisialisasi aliran masukan XPS
//menggunakan (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))
{
// Muat dokumen XPS dari aliran
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// atau muat dokumen XPS langsung dari file. Tidak diperlukan xpsStream.
// Dokumen XpsDocument = XpsDocument baru(inputFileName, XpsLoadOptions baru());

// Inisialisasi objek opsi dengan parameter yang diperlukan.
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,
};
// Buat perangkat rendering untuk format PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

Konversikan OXPS ke PDF menggunakan C#

Format OXPS adalah bentuk format file XPS yang diperbarui dan canggih. Namun, file tersebut tidak didukung oleh beberapa sistem operasi lama. Aspose.Page for .NET API juga mampu mengonversi file OXPS. Mari kita lanjutkan untuk mempelajari skenario penggunaan berikut:

i) Konversikan Beberapa Halaman OXPS ke PDF dalam C#

File OXPS dapat berisi banyak halaman dan sejumlah halaman dapat dikonversi ke PDF dengan mengikuti langkah-langkah di bawah ini:

  1. Muat file OXPS
  2. Deklarasikan objek PdfSaveOptions.
  3. Tetapkan nomor halaman yang ingin Anda konversi
  4. Render OXPS ke PDF

Cuplikan kode berikut menunjukkan cara mengonversi OXPS ke PDF menggunakan C#. Itu mengubah halaman pertama file OXPS menjadi PDF seperti yang disebutkan dalam potongan kode.

// Inisialisasi aliran keluaran PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inisialisasi aliran masukan OXPS
//menggunakan (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))
{
    // Muat dokumen OXPS dari aliran
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // atau muat dokumen XPS langsung dari file. Tidak diperlukan xpsStream.
    // Dokumen XpsDocument = XpsDocument baru(inputFileName, XpsLoadOptions baru());

    // Inisialisasi objek opsi dengan parameter yang diperlukan.
    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}
    };
    // Buat perangkat rendering untuk format PDF
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

ii) Konversikan Semua Halaman OXPS ke PDF dalam C#

Mengonversi semua halaman OXPS sederhana dan terkait dengan contoh yang telah kami pertimbangkan di atas. Mari kita ikuti langkah-langkah di bawah ini dan ubah semua halaman file OXPS menjadi satu dokumen PDF:

  1. Inisialisasi aliran masukan OXPS
  2. Muat file OXPS dari aliran
  3. Buat instance objek dari kelas PdfSaveOptions.
  4. Ekspor OXPS ke file PDF

Cuplikan kode di bawah mengikuti langkah-langkah ini satu per satu dan mengonversi OXPS ke PDF menggunakan C#:

// Inisialisasi aliran keluaran PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inisialisasi aliran masukan OXPS
//menggunakan (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))
{
// Muat dokumen OXPS dari aliran
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// atau muat dokumen OXPS langsung dari file. Tidak diperlukan xpsStream.
// Dokumen XpsDocument = XpsDocument baru(inputFileName, XpsLoadOptions baru());

// Inisialisasi objek opsi dengan parameter yang diperlukan.
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,
};
// Buat perangkat rendering untuk format PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara mengonversi XPS ke PDF dan OXPS ke PDF secara terprogram menggunakan C#. Anda telah belajar dengan contoh kode C# dan tangkapan layar tentang konversi format file dengan fidelitas tinggi, efisien, dan cepat. Anda dapat menjelajahi Aspose.Page for .NET API lebih lanjut dengan bantuan dokumentasi API dan referensi API. Selain itu, jangan ragu untuk mengajukan pertanyaan apa pun di Forum Dukungan Gratis.

Lihat juga