Преобразовать 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 для обработки таких конверсий документов с минимальными усилиями.
