LaTeX в XPS | Aspose.TeX для .NET

Другой целевой формат — XPS. Файл XPS физически представляет собой ZIP-пакет, содержащий содержимое документа с разбивкой на страницы, а также метаданные, необходимые для правильного отображения конкретными средствами просмотра (например, Windows XPS Viewer) и печати. Все данные в пакете представлены файлами. Некоторые из них являются двоичными и содержат такие ресурсы, как изображения, шрифты и профили ICC. Другие представляют собой XML-файлы в различных конкретных схемах. К последним относятся файлы, содержащие сами данные документа. Данные документа состоят из набора файлов – каждый файл содержит данные для отдельной страницы документа. Такие файлы состоят из одного элемента страницы и дерева дочерних элементов — Canvas, Path и Glyphs. Canvas — это элемент группировки, который может содержать другие Canvas, Paths и Glyphs. Он служит для управления внешним видом всех дочерних элементов как группы. Элементы Path используются для определения путей векторной графики. А элементы Glyphs используются для определения текстового содержимого. Все три элемента обладают свойствами, определяющими различные аспекты внешнего вида.

Существует библиотека Aspose.Page, которая предоставляет API для работы с документами XPS, а также для их преобразования в форматы PDF и растровых изображений.

Как конвертировать LaTeX в XPS

Преобразование LaTeX в XPS так же просто, как и преобразование в форматы растровых изображений, за исключением того, что для SaveOptions ДОЛЖЕН быть установлен экземпляр класса XpsSaveOptions (по умолчанию или явно). , и устройство ДОЛЖНО быть изменено на экземпляр класса XpsDevice.

1// Create conversion options instance.
2...
3// Initialize the options for saving in XPS format.
4options.SaveOptions = new XpsSaveOptions(); // Default value. Arbitrary assignment.
5// Run LaTeX to XPS conversion.
6new TeXJob(Path.Combine(RunExamples.InputDirectory, "sample.ltx"), new XpsDevice(), options).Run();

Альтернативный способ записи основного выходного файла XPS.

Есть еще один конструктор класса XpsDevice, который позволяет нам получить результирующий XPS-файл альтернативным способом.

 1// Create the stream to write the XPS file to.
 2using (Stream xpsStream = File.Open(Path.Combine(RunExamples.OutputDirectory, "any-name.xps"), FileMode.Create))
 3{
 4    // Create conversion options for Object LaTeX format upon Object TeX engine extension.
 5    ...
 6    // Initialize the options for saving in XPS format.
 7    options.SaveOptions = new XpsSaveOptions(); // Default value. Arbitrary assignment.
 8    // Run LaTeX to XPS conversion.
 9    new TeXJob(Path.Combine(RunExamples.InputDirectory, "hello-world.ltx"), new XpsDevice(xpsStream), options).Run();
10}

Эффект тот же, что мы получаем здесь.

Вы также можете ознакомиться с бесплатным преобразованием LaTeX в XPS веб-приложение, созданным на основе Aspose.TeX for .NET API.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.