LaTeX から XPS へ | .NET
別のターゲット形式として XPS があります。XPS ファイルは、実際には ZIP パッケージで、ドキュメントのページ化されたコンテンツと、特定のビューア(例:Windows XPS Viewer)や印刷のために必要なメタデータが含まれています。パッケージ内のすべてのデータはファイルとして表現されます。そのうちいくつかはバイナリで、画像、フォント、ICC プロファイルなどのリソースを含みます。他はさまざまな特定スキーマの XML ファイルです。後者にはドキュメントデータ自体が含まれます。ドキュメントデータは一連のファイルで構成され、各ファイルはドキュメントの個々のページのデータを保持します。これらのファイルは単一のページ要素と子要素ツリー(Canvas、Path、Glyphs)で構成されます。Canvas は他の Canvas、Path、Glyphs を含むことができるグルーピング要素で、子要素全体の外観をまとめて制御します。Path 要素はベクターグラフィックのパスを定義し、Glyphs 要素はテキスト コンテンツを定義します。これら 3 つの要素には、外観のさまざまな側面を定義するプロパティがあります。
Aspose.Page ライブラリは XPS ドキュメントを操作する API を提供し、さらに PDF やラスタ画像形式への変換もサポートしています。
LaTeX を XPS に変換する方法
LaTeX から XPS への変換は、 ラスタ画像形式への変換 と同様に簡単です。ただし、 SaveOptions はデフォルトまたは明示的に XpsSaveOptions クラスのインスタンスに設定する必要があり、デバイスは XpsDevice クラスのインスタンスに変更する必要があります。
最も簡単な変換例
以下の例は、数ステップで LaTeX ファイルを XPS に変換する方法を示しています。
TexDocumentインスタンスを作成します。TexDocument.Loadを使用してソース.texファイルをロードします。- (オプション)圧縮設定などの
XpsSaveOptionsを構成します。 document.SaveにXpsDeviceを渡してドキュメントを XPS に保存します。
このコードは、LaTeX から XPS ファイルを生成する最も直接的な方法を示しています。
1// Convert LaTeX to XPS - simplest approach
2
3// Create conversion options for Object LaTeX format upon Object TeX engine extension.
4TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectLaTeX);
5
6// Specify a file system working directory for the output.
7options.OutputWorkingDirectory = new OutputFileSystemDirectory(OutputDir);
8
9// Initialize the options for saving in XPS format.
10options.SaveOptions = new XpsSaveOptions();
11
12// Run LaTeX to XPS conversion.
13new TeXJob(Path.Combine(DataDir, "hello-world.ltx"), new XpsDevice(), options).Run();メイン出力 XPS ファイルを書き込む別の方法
XpsDevice クラスには、結果の XPS ファイルを別の方法で取得できるコンストラクタがあります。
代替変換例
このスニペットは Stream を受け取る XpsDevice コンストラクタの使用例です。手順は次のとおりです。
TexDocumentを作成し、LaTeX ソースをロードします。- XPS 出力を保持するための
MemoryStreamを作成します。 - ストリームを渡して
XpsDeviceをインスタンス化します。 - デバイスにドキュメントを保存し、その後ストリームを使用できます(例:ネットワーク経由で送信したり、データベースに保存したり)。
このアプローチは、ファイルとしてではなくメモリ上で XPS データが必要な場合に便利です。
1// Convert LaTeX to XPS - alternative approach with stream
2
3// Create the stream to write the XPS file to.
4using (Stream xpsStream = File.Open(Path.Combine(OutputDir, "hello-world-alt.xps"), FileMode.Create))
5{
6 // Create conversion options for Object LaTeX format upon Object TeX engine extension.
7 TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectLaTeX);
8
9 // Specify a file system working directory for the output.
10 options.OutputWorkingDirectory = new OutputFileSystemDirectory(OutputDir);
11
12 // Initialize the options for saving in XPS format.
13 options.SaveOptions = new XpsSaveOptions(); // Default value. Arbitrary assignment.
14
15 // Run LaTeX to XPS conversion.
16 new TeXJob(Path.Combine(DataDir, "hello-world.ltx"), new XpsDevice(xpsStream), options).Run();
17}この効果は、 こちら で確認できます。
無料の LaTeX から XPS への変換 Web アプリ もご利用いただけます( Aspose.TeX for .NET API に基づいて構築)