แปลง XPS เป็น BMP ใน C#
การแปลงไฟล์ XPS เป็นภาพ BMP ใน C# เป็นความต้องการทั่วไปเมื่อคุณต้องการแยกตัวแทนทางภาพของเอกสาร XPS เพื่อการพิมพ์ การเก็บข้อมูล หรือการรวมเข้ากับกระบวนการประมวลผลภาพ โดยใช้ Conholdate.Total for .NET งานนี้จะกลายเป็นเรื่องง่ายและมีประสิทธิภาพ
ทำไมต้องแปลง XPS เป็น BMP?
นี่คือเหตุผลบางประการที่คุณอาจต้องการแปลง XPS เป็น BMP:
- คุณภาพสูง: BMP รักษาความซื่อสัตย์ของภาพทั้งหมด เหมาะสำหรับการพิมพ์หรือการออกแบบงาน
- การแชร์ที่ง่ายขึ้น: รูปภาพ BMP สามารถเปิดและดูได้ง่ายในหลายแพลตฟอร์ม
- การดึงข้อมูล: ดึงเนื้อหาระดับหน้าเพื่อการวิเคราะห์หรือ OCR.
- การประมวลผลชุด: แปลงหลายหน้าหรือเอกสารในครั้งเดียวโดยใช้การทำงานอัตโนมัติของ .NET.
แปลง 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# ช่วยให้นักพัฒนาสามารถสร้างผลลัพธ์เป็นภาพแบบแรสเตอร์ได้อย่างง่ายดายสำหรับการรวมเข้าด้วยกัน การจัดเก็บถาวร หรือการประมวลผลเพิ่มเติม Conholdate.Total สำหรับ .NET มี API ที่ทรงพลังในการจัดการการแปลงเอกสารดังกล่าวด้วยความพยายามน้อยที่สุด
