
как конвертировать XPS в JPG на С#
Формат документа XPS позволяет легко обмениваться, создавать, печатать и сохранять цифровые документы, но вам может потребоваться установить вспомогательное программное обеспечение. Если вы программист .NET и хотите программно экспортировать файл XPS в формат JPG/JPEG, в этой статье объясняется, как преобразовать XPS в JPG на C#.
В этой статье будут рассмотрены следующие моменты:
С# .NET API для преобразования XPS в JPG
В этой статье мы будем использовать Conholdate.Total для .NET для преобразования XPS в JPG. Эта библиотека позволяет создавать, редактировать и сохранять существующие, а также новые документы XPS. Поэтому вы можете загрузить библиотеку DLL или установить этот API преобразования XPS с помощью NuGet.
Install-Package Conholdate.Total
Как программно конвертировать XPS в JPG/JPEG на C#
API преобразования XPS позволяет преобразовывать файлы XPS в формат JPG.
Ниже приведены шаги для преобразования файла XPS в изображение JPG:
- Инициализировать объект класса Stream для документов XPS.
- Создайте экземпляр класса XpsDocument, используя поток XPS (созданный на предыдущем шаге) и объект класса XpsLoadOptions в качестве параметров.
- Инициализировать объект класса JpegSaveOptions с необходимыми параметрами.
- Создайте экземпляр класса ImageDevice.
- Сохраните JPG в объекте ImageDevice, вызвав XpsDocument.Save (устройство устройства, параметры SaveOptions).
- Используйте ImageDevice для сохранения JPG на диске (как показано в примере кода ниже).
В следующем примере кода показано, как преобразовать преобразование XPS в JPG с помощью C#:
string inputFileName = "input.xps"; | |
//Outut file | |
string outputFileName = "XPStoImage_out.jpg"; | |
// Initialize XPS input stream | |
using (Stream xpsStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read)) | |
{ | |
// Load XPS document form the stream | |
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions()); | |
// Initialize options object with necessary parameters. | |
JpegSaveOptions options = new JpegSaveOptions() | |
{ | |
SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality, | |
Resolution = 300, | |
PageNumbers = new int[] { 1, 2, 6 } | |
}; | |
// Create rendering device for image | |
ImageDevice device = new ImageDevice(); | |
document.Save(device, options); | |
// Iterate through document partitions (fixed documents, in XPS terms) | |
for (int i = 0; i < device.Result.Length; i++) | |
// Iterate through partition pages | |
for (int j = 0; j < device.Result[i].Length; j++) | |
{ | |
// Initialize image output stream | |
using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) + | |
Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) + | |
Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write)) | |
// Write image | |
imageStream.Write(device.Result[i][j], 0, device.Result[i][j].Length); | |
} | |
} |
Получить бесплатную лицензию
Вы можете приобрести бесплатную временную лицензию для тестирования API без ограничений пробной версии.
Заключение
В заключение этой статьи мы надеемся, что вы научились преобразовывать XPS в JPG на C# с помощью API преобразования XPS. Вы можете посетить документацию, чтобы изучить другие функции библиотеки преобразования XPS.
Задайте вопрос
Вы можете сообщить нам о своих вопросах или запросах на нашем форуме.