LaTeX до XPS | Aspose.TeX для Java

Іншим цільовим форматом є XPS. Файл XPS фізично є ZIP-пакетом, який містить розбитий на сторінки вміст документа, а також метадані, необхідні для належного відображення певними засобами перегляду (наприклад, Windows XPS Viewer) і друку. Усі дані в пакеті організовано як файли в каталогах. Деякі з них містять такі ресурси, як зображення, шрифти та профілі ICC. Інші — це XML-файли в різних конкретних схемах. До останніх відносяться файли, що містять самі дані документа. Дані документа — це набір файлів — кожен файл містить дані для окремої сторінки документа. Такі файли складаються з одного елемента сторінки та дерева дочірніх елементів - Canvas, Path і Glyphs. Canvas — це груповий елемент, який може містити інші Canvases, Paths і Glyphs. Його призначення — контролювати вигляд усіх дочірніх елементів як групи. Елементи Path використовуються для визначення шляхів векторної графіки. А елементи Glyphs використовуються для визначення текстового вмісту. Усі три елементи мають властивості для визначення різних аспектів зовнішнього вигляду.

Існує бібліотека Aspose.Page, яка надає API для роботи з документами XPS, а також для їх перетворення у формати PDF і растрових зображень.

Як конвертувати LaTeX у XPS

Перетворення в XPS таке ж просте, як і перетворення у формати растрових зображень, за винятком того, що на додаток до SaveOptions ми маємо використовувати екземпляр класу XpsDevice.

Альтернативний спосіб запису основного вихідного файлу 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 (8), створеною на основі API Aspose.TeX для .NET. Тут – сторінка версії Java.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.