در C# XPS را به BMP تبدیل کنید

تبدیل فایل‌های XPS به تصاویر BMP در C# یک نیاز رایج است زمانی که شما به استخراج نمای بصری اسناد XPS برای چاپ، آرشیو یا ادغام در روندهای پردازش تصویر نیاز دارید. با استفاده از Conholdate.Total for .NET، این کار ساده و کارآمد می‌شود.


چرا XPS را به BMP تبدیل کنیم؟

در اینجا چند دلیل وجود دارد که ممکن است بخواهید XPS را به BMP تبدیل کنید:

  • خروجی با کیفیت بالا: BMP تمام وفاداری تصویر را حفظ می کند، که برای چاپ یا کار طراحی مفید است.
  • Simplified sharing: تصاویر BMP می‌توانند به راحتی در پلتفرم‌های مختلف باز و مشاهده شوند.
  • استخراج داده: استخراج محتوای سطح صفحه برای تحلیل یا OCR.
  • پردازش دسته‌ای: تبدیل چندین صفحه یا سند در یک بار با استفاده از اتوماسیون .NET.

در C# XPS را به BMP تبدیل کنید

مراحل زیر را برای انجام تبدیل دنبال کنید:

  1. بارگذاری سند XPS با استفاده از کلاس XpsDocument.
  2. یک نمونه از BmpSaveOptions را ایجاد و پیکربندی کنید.
  3. متد SaveAsImage را برای تولید آرایه‌های بایت تصویر BMP فراخوانی کنید.
  4. از هر صفحه تکرار کنید و تصاویر را در دیسک ذخیره کنید.

در C# XPS را به BMP تبدیل کنید

// 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);
    }
}

این کد فرآیند کاملی را برای تبدیل اسناد XPS به تصاویر BMP در C# نشان می‌دهد. فایل XPS با استفاده از کلاس XpsDocument به همراه XpsLoadOptions بارگذاری می‌شود تا برای رندر کردن آماده شود. سپس، یک شیئ BmpSaveOptions مقداردهی اولیه می‌شود، جایی که می‌توانید وضوح تصویر، حالت هموارسازی و صفحات خاصی را که باید تبدیل شوند، تنظیم کنید. این اطمینان می‌دهد که هر صفحه به‌طور جداگانه با برچسب‌گذاری واضح ذخیره می‌شود و مدیریت و استفاده از تصاویر تولید شده در برنامه‌های دیگر آسان است. به‌طور کلی، این روش راهی بسیار کارآمد برای استخراج و حفظ محتوای XPS در فرمت BMP ارائه می‌دهد.

نتیجه گیری

تبدیل اسناد XPS به تصاویر BMP در C# به توسعه‌دهندگان این امکان را می‌دهد که خروجی‌های تصویر رستری تولید کنند تا برای ادغام، بایگانی یا پردازش بیشتر آسان باشد. Conholdate.Total برای .NET APIs قوی را برای مدیریت چنین تبدیل‌هایی با حداقل تلاش ارائه می‌دهد.

ببینید همچنین