Ubah XPS ke BMP dalam C#
Mengonversi file XPS ke gambar BMP di C# adalah kebutuhan umum ketika Anda perlu mengekstrak representasi visual dari dokumen XPS untuk pencetakan, pengarsipan, atau mengintegrasikan ke dalam alur kerja pemrosesan gambar. Menggunakan Conholdate.Total untuk .NET, tugas ini menjadi sederhana dan efisien.
Mengapa Mengonversi XPS ke BMP?
Berikut adalah beberapa alasan mengapa Anda mungkin perlu mengonversi XPS ke BMP:
- Output berkualitas tinggi: BMP mempertahankan fidelitas gambar penuh, berguna untuk pencetakan atau pekerjaan desain.
- Pembagian yang disederhanakan: Gambar BMP dapat dengan mudah dibuka dan dilihat di berbagai platform.
- Ekstraksi data: Ekstrak konten tingkat halaman untuk analisis atau OCR.
- Pengolahan batch: Konversi beberapa halaman atau dokumen sekaligus menggunakan otomatisasi .NET.
Ubah XPS ke BMP dalam C#
Ikuti langkah-langkah di bawah ini untuk melakukan konversi:
- Load dokumen XPS menggunakan kelas
XpsDocument. - Buat dan konfigurasikan sebuah instance dari
BmpSaveOptions. - Panggil metode
SaveAsImageuntuk menghasilkan array byte gambar BMP. - Iterasi melalui setiap halaman dan simpan gambar ke disk.
Ubah XPS ke BMP dalam 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);
}
}
Kode ini menunjukkan proses lengkap untuk mengonversi dokumen XPS menjadi gambar BMP dalam C#. File XPS dimuat menggunakan kelas XpsDocument bersama dengan XpsLoadOptions untuk mempersiapkannya untuk rendering. Kemudian, objek BmpSaveOptions diinisialisasi, di mana Anda dapat mengatur resolusi gambar, mode perhalusan, dan halaman spesifik yang akan dikonversi. Ini memastikan bahwa setiap halaman disimpan secara terpisah dengan penamaan yang jelas, sehingga mudah untuk mengelola dan menggunakan gambar yang dihasilkan dalam aplikasi selanjutnya. Secara keseluruhan, metode ini menyediakan cara yang sangat efisien untuk mengekstrak dan mempertahankan konten XPS dalam format BMP.
Kesimpulan
Mengonversi dokumen XPS menjadi gambar BMP di C# memungkinkan pengembang untuk menghasilkan keluaran gambar rasterisasi untuk integrasi yang mudah, pengarsipan, atau pemrosesan lebih lanjut. Conholdate.Total untuk .NET menawarkan API yang kuat untuk menangani konversi dokumen semacam itu dengan upaya minimal.
