LaTeX から XPS へ | .NET

別のターゲット形式として XPS があります。XPS ファイルは、実際には ZIP パッケージで、ドキュメントのページ化されたコンテンツと、特定のビューア(例:Windows XPS Viewer)や印刷のために必要なメタデータが含まれています。パッケージ内のすべてのデータはファイルとして表現されます。そのうちいくつかはバイナリで、画像、フォント、ICC プロファイルなどのリソースを含みます。他はさまざまな特定スキーマの XML ファイルです。後者にはドキュメントデータ自体が含まれます。ドキュメントデータは一連のファイルで構成され、各ファイルはドキュメントの個々のページのデータを保持します。これらのファイルは単一のページ要素と子要素ツリー(CanvasPathGlyphs)で構成されます。Canvas は他の CanvasPathGlyphs を含むことができるグルーピング要素で、子要素全体の外観をまとめて制御します。Path 要素はベクターグラフィックのパスを定義し、Glyphs 要素はテキスト コンテンツを定義します。これら 3 つの要素には、外観のさまざまな側面を定義するプロパティがあります。

Aspose.Page ライブラリは XPS ドキュメントを操作する API を提供し、さらに PDF やラスタ画像形式への変換もサポートしています。

LaTeX を XPS に変換する方法

LaTeX から XPS への変換は、 ラスタ画像形式への変換 と同様に簡単です。ただし、 SaveOptions はデフォルトまたは明示的に XpsSaveOptions クラスのインスタンスに設定する必要があり、デバイスは XpsDevice クラスのインスタンスに変更する必要があります。

最も簡単な変換例

以下の例は、数ステップで LaTeX ファイルを XPS に変換する方法を示しています。

  1. TexDocument インスタンスを作成します。
  2. TexDocument.Load を使用してソース .tex ファイルをロードします。
  3. (オプション)圧縮設定などの XpsSaveOptions を構成します。
  4. document.SaveXpsDevice を渡してドキュメントを 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 コンストラクタの使用例です。手順は次のとおりです。

  1. TexDocument を作成し、LaTeX ソースをロードします。
  2. XPS 出力を保持するための MemoryStream を作成します。
  3. ストリームを渡して XpsDevice をインスタンス化します。
  4. デバイスにドキュメントを保存し、その後ストリームを使用できます(例:ネットワーク経由で送信したり、データベースに保存したり)。

このアプローチは、ファイルとしてではなくメモリ上で 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 に基づいて構築)

Have any questions about Aspose.TeX?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.