LaTeX zu XPS | Aspose.TeX für Python
Ein weiteres Zielformat ist XPS. Eine XPS-Datei ist im Wesentlichen ein ZIP-Paket, das den paginierten Inhalt eines Dokuments sowie die notwendigen Metadaten für die ordnungsgemäße Anzeige durch bestimmte Viewer (z. B. Windows XPS Viewer) und das Drucken enthält. Das Paket besteht aus verschiedenen Dateien, von denen einige binär sind und Ressourcen wie Bilder, Schriftarten und ICC-Profile enthalten. Andere sind XML-Dateien in bestimmten Schemata, einschließlich Dateien, die die Dokumentdaten selbst enthalten. Die Dokumentdaten sind in mehrere Dateien unterteilt, wobei jede Datei eine einzelne Seite des Dokuments darstellt. Diese Dateien bestehen aus einem einzelnen Seitenelement und einem Baum aus untergeordneten Elementen, einschließlich Canvas, Path und Glyphs. Das Canvas-Element ist ein Gruppierungselement, das andere Canvases, Pfade und Glyphen enthalten kann und das Erscheinungsbild aller untergeordneten Elemente als Gruppe steuert. Path-Elemente werden zum Definieren von Vektorgrafikpfaden verwendet, während Glyphs-Elemente zum Definieren von Textinhalten verwendet werden. Alle drei Elemente verfügen über Eigenschaften, die verschiedene Aspekte des Erscheinungsbilds definieren.
Es gibt die Bibliothek Aspose.Page, die eine API zur Bearbeitung von XPS-Dokumenten bietet und auch die Konvertierung dieser Dokumente in PDF- und Rasterbildformate ermöglicht.
Konvertieren von LaTeX in XPS
Der Prozess der Konvertierung von LaTeX in XPS ist ebenso unkompliziert, ähnlich der Konvertierung in Rasterbildformate. Allerdings ist es erforderlich, save_options auf eine Instanz der Klasse XpsSaveOptions zu setzen (entweder standardmäßig oder explizit) und das Gerät in eine Instanz der Klasse XpsDevice zu ändern.
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()
Eine alternative Möglichkeit, die XPS-Hauptausgabedatei zu schreiben
Für die Klasse XpsDevice steht ein alternativer Konstruktor zur Verfügung, der es ermöglicht, die resultierende XPS-Datei auf andere Weise abzurufen.
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()
Der Effekt ist derselbe, den wir hier erhalten.
Sie können auch die kostenlose Web-App für die Konvertierung von LaTeX in XPS erkunden, die mit der Aspose.TeX für .NET API entwickelt wurde.