LaTeX vers XPS | Aspose.TeX pour Java
Un autre format cible est XPS. Un fichier XPS est physiquement un package ZIP qui contient le contenu paginé d’un document, ainsi que les métadonnées requises pour un affichage correct par des visualiseurs spécifiques (tels que Windows XPS Viewer) et une impression. Toutes les données d’un package sont organisées sous forme de fichiers dans des répertoires. Certains d’entre eux contiennent des ressources telles que des images, des polices et des profils ICC. D’autres sont des fichiers XML dans divers schémas spécifiques. Ces derniers incluent des fichiers contenant les données du document elles-mêmes. Les données du document sont un ensemble de fichiers - chaque fichier contient des données pour une page individuelle du document. Ces fichiers se composent d’un seul élément de page et d’une arborescence d’éléments enfants - Canvas, Path et Glyphs. Canvas est un élément de regroupement qui peut contenir d’autres Canvas, Paths et Glyphs. Son objectif est de contrôler l’apparence de tous les éléments enfants en tant que groupe. Les éléments Path sont utilisés pour définir des chemins de graphiques vectoriels. Et les éléments Glyphs sont utilisés pour définir le contenu du texte. Les trois éléments ont des propriétés permettant de définir divers aspects de l’apparence.
Il existe la bibliothèque Aspose.Page qui fournit une API pour manipuler les documents XPS, ainsi que pour les convertir aux formats PDF et d’image raster.
Comment convertir LaTeX en XPS
La conversion en XPS est aussi simple que la conversion aux formats d’image raster, sauf qu’en plus des SaveOptions, nous devons utiliser une instance de la 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();
Une autre façon d’écrire le fichier XPS de sortie principal
Il existe un autre constructeur de la classe XpsDevice, qui nous permet d’obtenir le fichier XPS résultant d’une manière alternative.
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’effet est le même que celui que nous obtenons ici.
Vous pouvez également consulter la conversion gratuite LaTeX vers XPS application Web construite sur la base de l’API Aspose.TeX for .NET. Ici est la page de la version Java.