XPS’i C#‘da BMP’ye dönüştürün

XPS dosyalarını BMP görüntülerine C# ile dönüştürmek, XPS belgelerinin yazdırma, arşivleme veya görüntü işleme iş akışlarına entegrasyon için görsel temsillerini çıkarmanız gerektiğinde yaygın bir gerekliliktir. Conholdate.Total for .NET kullanarak, bu görev basit ve verimli hale geliyor.


Neden XPS’yi BMP’ye dönüştürmeliyim?

Here are some reasons you might need to convert XPS to BMP:

  • Yüksek kaliteli çıktı: BMP, tam görüntü sadakatini korur, baskı veya tasarım çalışmaları için kullanışlıdır.
  • Basitleştirilmiş paylaşım: BMP resimleri, çeşitli platformlarda kolayca açılabilir ve görüntülenebilir.
  • Veri çıkarımı: Analiz veya OCR için sayfa düzeyinde içerik çıkartma.
  • Toplu işleme: .NET otomasyonunu kullanarak bir seferde birden fazla sayfa veya belgeyi dönüştürün.

XPS’i C#‘da BMP’ye dönüştürün

Aşağıdaki adımları izleyerek dönüştürmeyi gerçekleştirin:

  1. XpsDocument sınıfını kullanarak XPS belgesini yükleyin.
  2. BmpSaveOptions örneği oluşturun ve yapılandırın.
  3. SaveAsImage metodunu çağırarak BMP resim byte dizileri oluşturun.
  4. Her sayfayı dolaşın ve görselleri diske kaydedin.

XPS’i C#‘da BMP’ye dönüştürün

// Define the working directory.
string dataDir = "/Desktop";
string outputFileName = dataDir + "XPStoImage_out.bmp";

// Instantiate an instance of the XpsLoadOptions class.  
// Load XPS document from the XPS file by initializing an instance of the XpsDocument class. 
XpsDocument document = new XpsDocument(dataDir + "input.xps", new XpsLoadOptions());

// Initialize BmpSaveOptions object with necessary parameters. 
BmpSaveOptions options = new BmpSaveOptions()
{
    SmoothingMode = SmoothingMode.HighQuality,
    Resolution = 300,
    PageNumbers = new int[] { 1, 2, 6 }
};

// Invoke SaveAsImage method to save XPS document to the images byte arrays. 
byte[][][] imagesBytes = document.SaveAsImage(options);

// Iterate through document partitions (fixed documents, in XPS terms)
for (int i = 0; i < imagesBytes.Length; i++)
{
    // Iterate through partition pages
   for (int j = 0; j < imagesBytes[i].Length; j++)
    {
        // Initialize image output stream
        using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) + Path.DirectorySeparatorChar +
            Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) +
            Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write))
            // Write image 
            imageStream.Write(imagesBytes[i][j], 0, imagesBytes[i][j].Length);
    }
}

Bu kod, XPS belgelerini BMP görüntülerine dönüştürmek için C#‘da tamamlanmış bir süreci göstermektedir. XPS dosyası, render için hazırlamak amacıyla XpsDocument sınıfı ve XpsLoadOptions kullanılarak yüklenir. Daha sonra, görüntü çözünürlüğünü, pürüzsüzlük modunu ve dönüştürülmesi gereken belirli sayfaları ayarlayabileceğiniz bir BmpSaveOptions nesnesi başlatılır. Bu, her sayfanın net bir şekilde etiketlenerek ayrı ayrı kaydedilmesini sağlar, bu da oluşturulan görüntüleri daha sonraki uygulamalarda yönetmeyi ve kullanmayı kolaylaştırır. Genel olarak, bu yöntem XPS içeriğini BMP formatında çıkarmak ve korumak için son derece verimli bir yol sunmaktadır.

Sonuç

XPS belgelerini C#’ta BMP görüntülerine dönüştürmek, geliştiricilerin kolay entegrasyon, arşivleme veya daha fazla işleme için rasterize edilmiş görüntü çıktıları oluşturmasına olanak tanır. Conholdate.Total for .NET, bu tür belge dönüşümlerini en az çaba ile yönetmek için güçlü API’ler sunar.

See Also