
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
- C# kullanarak OXPS’yi Programlı Olarak PDF’ye Dönüştürün
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:
- XPS giriş akışını başlat
- Akıştan XPS belgesi yükleyin
- PdfSaveOptions nesnesini başlat
- Dönüştürme için sayfa numaralarını belirtin
- 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:

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:
- Giriş XPS dosyasını yükle
- Seçenekler nesnesini gerekli parametrelerle başlat
- İşleme için bir PdfDevice örneği oluşturun
- 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:
- OXPS dosyasını yükle
- PdfSaveOptions nesnesini bildirin
- Dönüştürmek istediğiniz sayfa numaralarını ayarlayın
- 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:
- OXPS giriş akışını başlat
- OXPS dosyasını akıştan yükleyin
- PdfSaveOptions sınıfından bir nesne oluşturun
- 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.