как конвертировать XPS в JPG на С#

как конвертировать 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.

Задайте вопрос

Вы можете сообщить нам о своих вопросах или запросах на нашем форуме.

Смотрите также