LaTeX vers XPS | Aspose.TeX pour Python

Un autre format cible est XPS. Un fichier XPS est essentiellement un package ZIP qui contient le contenu paginé d’un document, ainsi que les métadonnées nécessaires pour un affichage correct par des visualiseurs spécifiques (tels que Windows XPS Viewer) et une impression. Le package se compose de divers fichiers, dont certains sont binaires et contiennent des ressources telles que des images, des polices et des profils ICC. D’autres sont des fichiers XML dans des schémas spécifiques, y compris des fichiers contenant les données du document lui-même. Les données du document sont divisées en plusieurs fichiers, chaque fichier représentant une page individuelle du document. Ces fichiers se composent d’un seul élément de page et d’une arborescence d’éléments enfants, notamment Canvas, Path et Glyphs. L’élément Canvas est un élément de regroupement qui peut contenir d’autres Canvas, Paths et Glyphs, et il contrôle 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, tandis que les éléments Glyphs sont utilisés pour définir le contenu textuel. Les trois éléments ont des propriétés qui définissent divers aspects de l’apparence.

Il existe la bibliothèque Aspose.Page, qui propose une API pour manipuler les documents XPS et permet également la conversion de ces documents aux formats PDF et image raster.

Conversion de LaTeX en XPS

Le processus de conversion de LaTeX en XPS est tout aussi simple, similaire à la conversion aux formats d’image raster. Cependant, cela nécessite de définir save_options sur une instance de la classe XpsSaveOptions (soit par défaut, soit explicitement) et de changer le périphérique en une instance de la classe 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()

Une autre façon d’écrire le fichier XPS de sortie principal

Il existe un constructeur alternatif disponible pour la classe XpsDevice, qui permet d’obtenir le fichier XPS résultant d’une manière différente.

 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()

L’effet est le même que celui que nous obtenons ici.

Vous pouvez également explorer l’ application Web gratuite pour la conversion LaTeX vers XPS, développée à l’aide de l’ API Aspose.TeX pour .NET.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.