XPS ve OXPS dosyaları, çözünürlükten bağımsız oldukları için yazdırma için sıklıkla kullanılır. Ancak, bazen XPS’yi PDF’ye veya OXPS’yi PDF’ye dönüştürmemiz gerekir. Aspose.Page for .NET API, bu dönüştürmeleri aslına uygun ve hızlı işleme ile gerçekleştirmenizi sağlar. Aşağıdaki kullanım durumlarını keşfedelim:

C# kullanarak XPS’yi Programlı Olarak PDF’ye Dönüştürün

Aspose.Page for .NET API ile XPS’den PDF’e dönüştürme işlemi basittir. XPS dosya dönüştürmesini gerçekleştirmek için aşağıdaki yaklaşımları öğreneceğiz:

i) XPS’nin Belirli Sayfalarını C# ile PDF’ye Dönüştürün

XPS belgesinin seçilen sayfalarını PDF’ye dönüştürmek için lütfen aşağıdaki adımları izleyin:

  1. XPS giriş akışını başlat
  2. Akıştan XPS belgesi yükleyin
  3. PdfSaveOptions nesnesini başlat
  4. Dönüştürme için sayfa numaralarını belirtin
  5. Belgeyi PDF dosyası olarak kaydedin

Aşağıdaki kod parçacığı şu adımları izler ve C# kullanarak XPS’yi PDF’ye nasıl dönüştüreceğinizi gösterir:

// PDF çıkış akışını başlat
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// XPS giriş akışını başlat
//kullanarak (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))
{
    // Akıştan XPS belgesi yükleyin
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // veya XPS belgesini doğrudan dosyadan yükleyin. O zaman xpsStream gerekmez.
    // XpsDocument belgesi = new XpsDocument(inputFileName, new XpsLoadOptions());

    // Seçenekler nesnesini gerekli parametrelerle başlatın.
    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 formatı için işleme cihazı oluşturun
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

Bu kod parçacığı, giriş dosyası olarak birkaç sayfa içeren bir XPS belgesi kullanır. Oysa kod parçacığında belirtildiği gibi sadece 1 ve 3 numaralı sayfalar PDF’ye dönüştürülür. Aşağıdaki ekran görüntüsü, PDF belgesine dönüştürülen 2 sayfayı görüntüler:

XPS'den PDF'ye dönüştürücü

ii) XPS’nin Tüm Sayfalarını C# ile PDF’ye Dönüştürün

Tüm bir XPS dosyasını PDF’ye dönüştürebilirsiniz. Aşağıdaki adımları izleyin, XPS dosyasının tüm sayfaları bir PDF dosyasına dönüştürülecektir:

  1. Giriş XPS dosyasını yükle
  2. Seçenekler nesnesini gerekli parametrelerle başlat
  3. İşleme için bir PdfDevice örneği oluşturun
  4. XPS’yi PDF belgesine aktar

Aşağıdaki kod parçacığı, XPS dosyasının C# dilini kullanarak PDF’ye nasıl dönüştürüleceğini gösteren tüm bu adımlara dayanmaktadır:

// PDF çıkış akışını başlat
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// XPS giriş akışını başlat
//kullanarak (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))
{
// Akıştan XPS belgesi yükleyin
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// veya XPS belgesini doğrudan dosyadan yükleyin. O zaman xpsStream gerekmez.
// XpsDocument belgesi = new XpsDocument(inputFileName, new XpsLoadOptions());

// Seçenekler nesnesini gerekli parametrelerle başlatın.
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 formatı için işleme cihazı oluşturun
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

C# kullanarak OXPS’yi PDF’ye dönüştürün

OXPS biçimi, XPS dosya biçiminin güncellenmiş ve gelişmiş bir biçimidir. Ancak, bu tür dosyalar bazı eski işletim sistemleri tarafından desteklenmemektedir. Aspose.Page for .NET API, OXPS dosyalarını da dönüştürebilir. Aşağıdaki kullanım senaryolarını öğrenmeye devam edelim:

i) OXPS’nin Bazı Sayfalarını C# ile PDF’ye Dönüştürün

Bir OXPS dosyası birçok sayfa içerebilir ve herhangi bir sayıda sayfa aşağıdaki adımlar izlenerek PDF’ye dönüştürülebilir:

  1. OXPS dosyasını yükle
  2. PdfSaveOptions nesnesini bildirin
  3. Dönüştürmek istediğiniz sayfa numaralarını ayarlayın
  4. OXPS’yi PDF’ye dönüştürün

Aşağıdaki kod parçacığı, OXPS’nin C# kullanarak PDF’ye nasıl dönüştürüleceğini gösterir. OXPS dosyasının ilk sayfasını kod parçacığında belirtildiği gibi PDF’ye dönüştürür.

// PDF çıkış akışını başlat
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// OXPS giriş akışını başlat
//kullanarak (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))
{
    // Akıştan OXPS belgesini yükleyin
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // veya XPS belgesini doğrudan dosyadan yükleyin. O zaman xpsStream gerekmez.
    // XpsDocument belgesi = new XpsDocument(inputFileName, new XpsLoadOptions());

    // Seçenekler nesnesini gerekli parametrelerle başlatın.
    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 formatı için işleme cihazı oluşturun
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

ii) OXPS’nin Tüm Sayfalarını C# ile PDF’ye Dönüştürün

OXPS’nin tüm sayfalarını dönüştürmek basittir ve yukarıda ele aldığımız örnekle ilgilidir. Aşağıdaki adımları takip edelim ve OXPS dosyasının tüm sayfalarını tek bir PDF belgesine dönüştürelim:

  1. OXPS giriş akışını başlat
  2. OXPS dosyasını akıştan yükleyin
  3. PdfSaveOptions sınıfından bir nesne oluşturun
  4. OXPS’yi PDF dosyasına aktar

Aşağıdaki kod parçacığı bu adımları birer birer izler ve C# kullanarak OXPS’yi PDF’ye dönüştürür:

// PDF çıkış akışını başlat
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// OXPS giriş akışını başlat
//kullanarak (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))
{
// Akıştan OXPS belgesini yükleyin
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// veya OXPS belgesini doğrudan dosyadan yükleyin. O zaman xpsStream gerekmez.
// XpsDocument belgesi = new XpsDocument(inputFileName, new XpsLoadOptions());

// Seçenekler nesnesini gerekli parametrelerle başlatın.
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 formatı için işleme cihazı oluşturun
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

Çözüm

Bu makalede, C# kullanarak programlı olarak XPS’yi PDF’ye ve OXPS’yi PDF’ye dönüştürmeyi öğrendiniz. C# kod örnekleri ve ekran görüntüleri ile aslına uygun, verimli ve hızlı dosya biçimi dönüştürme hakkında bilgi edindiniz. API belgeleri ve API referansları yardımıyla Aspose.Page for .NET API’yi daha fazla keşfedebilirsiniz. Ayrıca, Ücretsiz Destek Forumları üzerinden herhangi bir soru sormaktan çekinmeyin.

Ayrıca bakınız