ラテックスからXPS | Java
もう一つのターゲットフォーマットは XPSです。XPSファイルは、ページ区切りのドキュメントコンテンツと、特定のビューア(Windows XPS Viewerなど)での適切な表示や印刷に必要なメタデータを含むZIPパッケージです。パッケージ内のすべてのデータは、ディレクトリ内のファイルとして整理されます。ディレクトリの中には、画像、フォント、ICCプロファイルなどのリソースを含むものもあれば、様々な特定スキーマに従ったXMLファイルもあります。後者には、ドキュメントデータ自体を含むファイルも含まれます。ドキュメントデータはファイルの集合体であり、各ファイルにはドキュメントの各ページのデータが含まれています。これらのファイルは、単一のページ要素と、子要素(Canvas、Path、Glyphs)のツリーで構成されます。Canvasは、他のCanvas、Path、Glyphsを含むことができるグループ化要素です。その目的は、すべての子要素の外観をグループとして制御することです。Path要素は、ベクターグラフィックのパスを定義するために使用されます。 グリフ要素はテキストコンテンツを定義するために使用されます。これら3つの要素はすべて、外観のさまざまな側面を定義するプロパティを持っています。
Aspose.Pageライブラリがあり、XPSドキュメントを操作するためのAPIを提供し、PDFおよびラスター画像形式に変換します。
ラテックスをXPSに変換する方法
XPSへの変換は、 saveoptionsに加えて xpsdevice クラスのインスタンスを使用する必要があることを除いて、 ラスター画像形式への変換と同じくらい簡単です。
inputFile に LaTeX ファイル(例:hello-world.ltx)のフルパスを設定し、outputDirectory に既存の出力フォルダーを設定してください。スニペットで使用する com.aspose.tex と com.aspose.tex.rendering のクラスをインポートします。呼び出し元のメソッドでは、例外を処理するか、スローする例外として宣言する必要があります。評価版の制限を避けるには、
ライセンスガイドに従ってライセンスを適用してください。この例では非対話モードで処理し、出力リソースを閉じます。 外部ファイルに依存しない入力ファイル hello-world.ltx の既定の出力は hello-world.xps です。
1// Convert LaTeX to XPS using the default output filename.
2// inputFile is the full input path; outputDirectory is an existing output folder.
3TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
4OutputFileSystemDirectory output = new OutputFileSystemDirectory(outputDirectory);
5options.setOutputWorkingDirectory(output);
6options.setSaveOptions(new XpsSaveOptions());
7options.setInteraction(Interaction.NonstopMode);
8
9XpsDevice device = new XpsDevice();
10TeXJobResult result;
11try {
12 result = new TeXJob(inputFile, device, options).run();
13} finally {
14 device.dispose();
15 output.close();
16}メイン出力XPSファイルを書き込む代替方法
XPSDeviceクラスの別のコンストラクターがあります。これにより、結果のXPSファイルを別の方法で取得できます。
上記と同じ inputFile と outputDirectory の値を使用してください。xpsFile に java.nio.file.Path を設定します(例:Paths.get(outputDirectory, "any-name.xps"))。Aspose.TeX のクラスに加えて、java.io.OutputStream、java.nio.file.Files、java.nio.file.Path、java.nio.file.Paths をインポートしてください。 ストリームで XPS ファイルの出力先を指定します。補助ファイルは引き続き outputDirectory に書き込まれます。
1// Convert LaTeX to XPS using an explicitly selected output stream.
2// inputFile is the full input path; outputDirectory is an existing output folder.
3// xpsFile is the java.nio.file.Path of the XPS file to create.
4TeXJobResult result;
5try (OutputStream xpsStream = Files.newOutputStream(xpsFile)) {
6 TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
7 OutputFileSystemDirectory output = new OutputFileSystemDirectory(outputDirectory);
8 options.setOutputWorkingDirectory(output);
9 options.setSaveOptions(new XpsSaveOptions());
10 options.setInteraction(Interaction.NonstopMode);
11
12 XpsDevice device = new XpsDevice(xpsStream);
13 try {
14 result = new TeXJob(inputFile, device, options).run();
15 } finally {
16 device.dispose();
17 output.close();
18 }
19}効果は ここと同じです。
.NETのAsops.TexAPIに基づいて構築された無料のLaTex-to-XPS変換 Webアプリをチェックアウトすることもできます。 ここはJavaバージョンページです。