تحويل XPS إلى BMP في C#
تحويل ملفات XPS إلى صور BMP في C# هو متطلب شائع عندما تحتاج إلى استخراج تمثيلات بصرية لمستندات XPS للطباعة أو الأرشفة أو الدمج في سير عمل معالجة الصور. باستخدام Conholdate.Total for .NET، تصبح هذه المهمة بسيطة وفعالة.
لماذا تحويل XPS إلى BMP؟
إليك بعض الأسباب التي قد تجعلك تحتاج إلى تحويل XPS إلى BMP:
- إخراج عالي الجودة: BMP يحافظ على كامل وفاء الصورة، مفيد للطباعة أو العمل في التصميم.
- تبسيط المشاركة: يمكن فتح وعرض صور BMP بسهولة عبر المنصات.
- استخراج البيانات: استخراج محتوى مستوى الصفحة للتحليل أو التعرف الضوئي على الحروف.
- Batch processing: Convert multiple pages or documents in one go using .NET automation.
تحويل XPS إلى BMP في C#
اتبع الخطوات أدناه لتنفيذ التحويل:
- قم بتحميل مستند XPS باستخدام فئة
XpsDocument. - قم بإنشاء وتكوين نسخة من
BmpSaveOptions. - استدعِ طريقة
SaveAsImageلإنشاء مصفوفات بايت صورة BMP. - تصفح كل صفحة واحفظ الصور على القرص.
تحويل XPS إلى BMP في C#
// 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# يسمح للمطورين بإنشاء مخرجات صور مل rasterized لسهولة التكامل أو الأرشفة أو المزيد من المعالجة. تقدم Conholdate.Total لـ .NET واجهات برمجة تطبيقات قوية للتعامل مع مثل هذه التحويلات للمستندات مع جهد minimal.
