LaTeX в XPS | Aspose.TeX для Python

Другой целевой формат — 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 столь же прост, как и преобразование в форматы растровых изображений. Однако для этого необходимо установить save_options на экземпляр класса XpsSaveOptions (по умолчанию или явно) и изменить устройство на экземпляр класса XpsDevice.

 1from aspose.tex import *
 2from aspose.tex.io import *
 3from aspose.tex.presentation.xps import *
 4from util import Util
 5from os import path
 6###############################################
 7###### Class and Method declaration here ######
 8###############################################
 9
10# Create conversion options instance.
11...
12# Initialize the options for saving in XPS format.
13so = XpsSaveOptions()
14options.save_options = so  # Default value. Arbitrary assignment.
15# Run LaTeX to XPS conversion.
16TeXJob(path.join(Util.input_directory, "sample.ltx"), XpsDevice(), options).run()

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

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

 1from aspose.tex import *
 2from aspose.tex.io import *
 3from aspose.tex.presentation.xps import *
 4from util import Util
 5from os import path
 6###############################################
 7###### Class and Method declaration here ######
 8###############################################
 9
10# Create the stream to write the XPS file to.
11with open(path.join(Util.output_directory, "any-name.xps"), "wb") as xps_stream:
12    # Create conversion options for Object LaTeX format upon Object TeX engine extension.
13    options = TeXOptions.console_app_options(TeXConfig.object_latex)
14    # Specify a file system working directory for the output.
15    options.output_working_directory = OutputFileSystemDirectory(Util.output_directory)
16    # Initialize the options for saving in XPS format.
17    options.save_options = XpsSaveOptions()  # Default value. Arbitrary assignment.
18    # Run LaTeX to XPS conversion.
19    TeXJob(path.join(Util.input_directory, "hello-world.ltx"), XpsDevice(xps_stream), options).run()

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

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

Have any questions about Aspose.TeX?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.