LaTeX в XPS | Aspose.TeX для Java

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

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

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

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

1// Create conversion options instance.
2...
3// Initialize the options for saving in XPS format.
4options.setSaveOptions(new XpsSaveOptions()); // Default value. Arbitrary assignment.
5// Run LaTeX to XPS conversion.
6new TeXJob(Utils.getInputDirectory() + "sample.ltx", new XpsDevice(), options).run();

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

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

 1// Create the stream to write the XPS file to.
 2final OutputStream xpsStream = new FileOutputStream(Utils.getOutputDirectory() + "any-name.xps");
 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.setSaveOptions(new XpsSaveOptions()); // Default value. Arbitrary assignment.
 8    // Run LaTeX to XPS conversion.
 9    new TeXJob(Utils.getInputDirectory() + "hello-world.ltx", new XpsDevice(xpsStream), options).run();
10} finally {
11  if (xpsStream != null)
12    xpsStream.close();
13}

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

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

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.