LaTeX a XPS | Java
Un altro formato target è xps. Un file XPS è fisicamente un pacchetto zip che contiene contenuto paginato di un documento, nonché i metadati richiesti per la visualizzazione corretta da parte di specifici telespettatori (come Windows XPS Viewer) e la stampa. Tutti i dati in un pacchetto sono organizzati come file nelle directory. Alcuni di essi contengono risorse come immagini, caratteri e profili ICC. Altri sono file XML in vari schemi specifici. Quest’ultimo include file che contengono i dati del documento stesso. I dati del documento sono un set di file: ogni file contiene dati per una singola pagina del documento. Tali file sono costituiti da un singolo elemento di pagina e un albero di elementi figlio - tela, percorso e glicfi. Canvasè un elemento di raggruppamento che può contenere altretele,percorsi e glicfi. Il suo scopo è il controllo sull’aspetto di tutti gli elementi figlio come gruppo. Path Gli elementi vengono utilizzati per definire percorsi grafici vettoriali. E gli elementi glifi vengono utilizzati per definire il contenuto di testo. Tutti e tre gli elementi hanno proprietà per definire vari aspetti dell’apparenza.
Esiste la libreria Aspose.Page che fornisce un’API per manipolare i documenti XPS, oltre a convertirli in formati di immagini PDF e raster.
Come convertire il LaTeX in XPS
La conversione in XPS è semplice quanto la conversione in formati di immagini raster, tranne che oltre ai SaveOptions, dobbiamo usare un’istanza della classe 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();
Un modo alternativo per scrivere il file XPS di output principale
C’è un altro costruttore della classe XPSDevice, che ci consente di ottenere il file XPS risultante in modo alternativo.
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}
L’effetto è lo stesso che otteniamo qui.
È inoltre possibile controllare la conversione da lattoce a XPS gratuita app Web basata in base all’API Aspose.TeX per .NET. Qui è la pagina della versione Java.