C#'da XPS'yi JPG'ye nasıl dönüştürebilirim?

C#‘da XPS’yi JPG’ye nasıl dönüştürebilirim?

XPS belge biçimi, dijital belgeleri kolayca paylaşmanıza, oluşturmanıza, yazdırmanıza ve kaydetmenize olanak tanır, ancak destekleyici yazılımı yüklemeniz gerekebilir. Bir .NET programcısıysanız ve bir XPS dosyasını programlı olarak JPG/JPEG formatına aktarmak istiyorsanız, bu makale XPS’nin C#’ta JPG’ye nasıl dönüştürüleceğini açıklayacaktır.

Bu makalede aşağıdaki noktalar ele alınacaktır:

XPS’yi JPG’ye dönüştürmek için C# .NET API

Bu yazıda XPS’yi JPG’ye dönüştürmek için Conholdate.Total for .NET kullanacağız. Bu kitaplık, mevcut ve yeni XPS belgelerini oluşturmanıza, düzenlemenize ve kaydetmenize olanak tanır. Bu nedenle, DLL’yi indirebilir veya NuGet kullanarak bu XPS dönüştürme API’sini yükleyebilirsiniz.

Install-Package Conholdate.Total 

C# dilinde XPS’yi programlı olarak JPG/JPEG’e dönüştürme

XPS dönüştürme API’si, XPS dosyalarınızı JPG biçimine dönüştürmenize olanak tanır.

Bir XPS dosyasını JPG görüntüsüne dönüştürme adımları şunlardır:

  • XPS belgeleri için Stream sınıfının nesnesini 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.
  • JpegSaveOptions sınıfının nesnesini gerekli parametrelerle başlatın.
  • ImageDevice sınıfının bir örneğini oluşturun.
  • [XpsDocument.Save(Device cihazı, SaveOptions options)]]19 öğesini çağırarak JPG’yi ImageDevice nesnesine kaydedin.
  • JPG’yi diske kaydetmek için ImageDevice‘i kullanın (aşağıdaki kod örneğinde gösterildiği gibi).

Aşağıdaki kod örneği, C# kullanarak XPS’nin JPG’ye nasıl dönüştürüleceğini gösterir:

string inputFileName = "input.xps";
//Çıkış dosyası 
string outputFileName = "XPStoImage_out.jpg";
// XPS giriş akışını başlat
using (Stream xpsStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read))
{
                // Akıştan XPS belgesini yükleyin
                XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
               

                // Seçenekler nesnesini gerekli parametrelerle başlatın.
                JpegSaveOptions options = new JpegSaveOptions()
                {
                    SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality,
                    Resolution = 300,
                    PageNumbers = new int[] { 1, 2, 6 }
                };

                // Resim için işleme cihazı oluştur
                ImageDevice device = new ImageDevice();

                document.Save(device, options);

                // Belge bölümleri boyunca yineleme yapın (XPS terimleriyle sabit belgeler)
               for (int i = 0; i < device.Result.Length; i++)
                    // Bölüm sayfalarını yineleyin
                   for (int j = 0; j < device.Result[i].Length; j++)
                    {
                        // Görüntü çıkış akışını başlat
                        using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) +
                            Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) +
                            Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write))
                            // Resim yaz
                            imageStream.Write(device.Result[i][j], 0, device.Result[i][j].Length);
                    }
            
}

Ü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 makaleyi sonuçlandırmak için, XPS dönüştürme API’sini kullanarak XPS’yi C#’ta JPG’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.

Ayrıca bakınız