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.

1# Create conversion options instance.
2...
3# Initialize the options for saving in XPS format.
4so = XpsSaveOptions()
5options.save_options = so  # Default value. Arbitrary assignment.
6# Run LaTeX to XPS conversion.
7TeXJob(path.join(Util.input_directory, "sample.ltx"), XpsDevice(), options).run()

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

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

 1# Create the stream to write the XPS file to.
 2with open(path.join(Util.output_directory, "any-name.xps"), "wb") as xps_stream:
 3    # Create conversion options for Object LaTeX format upon Object TeX engine extension.
 4    options = TeXOptions.console_app_options(TeXConfig.object_latex)
 5    # Specify a file system working directory for the output.
 6    options.output_working_directory = OutputFileSystemDirectory(Util.output_directory)
 7    # Initialize the options for saving in XPS format.
 8    options.save_options = XpsSaveOptions()  # Default value. Arbitrary assignment.
 9    # Run LaTeX to XPS conversion.
10    TeXJob(path.join(Util.input_directory, "hello-world.ltx"), XpsDevice(xps_stream), options).run()

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

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

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.