XPS dosyaları, XML işaretlemesindeki oluşturma ve yazdırma kurallarının yanı sıra görsel görünümü ve kompozisyonu da tanımlar. XPS belgeleri, ek açıklamaları veya imzaları yönetmeye yönelik benzersiz yetenekleri nedeniyle popüler olduğundan, insanlar bu dosyalara sahip olabilir ancak bunları PDF dosyalarına dönüştürmek isteyebilir. Aşağıdaki makalede bu özel senaryoyu tartışacağız ve C# dilinde XPS’yi programlı olarak PDF’ye nasıl dönüştüreceğimizi öğreneceğiz.
Bu makalede aşağıdaki noktalar ele alınacaktır:
XPS’yi PDF’ye dönüştürmek için C# .NET API’si
XPS’yi programlı olarak PDF’ye dönüştürmek için Conholdate.Total for .NET kullanacağız. NuGet kullanarak DLL’yi indirebilir veya bu XPS dönüştürme API’sini yükleyebilirsiniz.
Install-Package Conholdate.Total
C# kullanarak XPS’yi PDF’ye dönüştürme
Aşağıdaki adımları izleyerek XPS dosyalarını PDF’lere dönüştürebilirsiniz:
- Hem XPS hem de PDF belgeleri için Stream sınıfının nesnelerini başlatın.
- XPS akışını (önceki adımda oluşturuldu) ve XpsLoadOptions sınıfının nesnesini parametre olarak kullanarak XpsDocument sınıfının bir örneğini oluşturun.
- TextCompression, ImageCompression, JpegQualityLevel ve diğer seçenekleri belirterek PdfSaveOptions sınıfının nesnesini başlatın.
- adımda oluşturduğunuz gibi çıkış akışından PdfDevice sınıfı bir nesne oluşturun.
- PDF belgesini XpsDocument.Save(Device Device, SaveOptions options) kullanarak kaydedin ve PdfDevice ve PdfSaveOptions nesnelerini önceki adımlarda oluşturulduğu şekilde iletin.
Aşağıdaki kod, C# kullanarak XPS’nin PDF’ye nasıl dönüştürüleceğini gösterir.
// PDF çıktı akışını başlat
using (System.IO.Stream pdfStream = System.IO.File.Open("input.xps", System.IO.FileMode.Create, System.IO.FileAccess.Write))
// XPS giriş akışını başlat
using (System.IO.Stream xpsStream = System.IO.File.Open("XPStoPDF.pdf", System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
// Akıştan XPS belgesini yükleyin
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
// veya XPS belgesini doğrudan dosyadan yükleyin. O zaman xpsStream'e gerek yok.
// 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, 2, 6 }
};
// 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);
}
Ücretsiz lisans alın
API’yi değerlendirme sınırlamaları olmadan test etmek için bir ücretsiz geçici lisans alabilirsiniz.
Çözüm
Bu yazıda XPS’den PDF’ye dönüştürme prosedürünü ele aldık. Son olarak, XPS dönüştürme API’sini kullanarak XPS’yi C#’ta PDF’ye nasıl dönüştüreceğinizi öğrendiğinizi umuyoruz. XPS dönüştürme kitaplığının diğer özelliklerini keşfetmek için belgeleri ziyaret edebilirsiniz.
Bir soru sor
Sorularınızı veya sorularınızı forumumuzda bize bildirebilirsiniz.