ラテックスからXPS | .NET
別のターゲット形式は xpsです。 XPSファイルは、特定の視聴者(Windows XPS Viewerなど)および印刷による適切な表示に必要なメタデータとともに、ドキュメントの塗装されたコンテンツを含む物理的にZIPパッケージです。パッケージ内のすべてのデータはファイルで表されます。それらのいくつかはバイナリであり、画像、フォント、ICCプロファイルなどのリソースが含まれています。その他は、さまざまな特定のスキーマのXMLファイルです。後者には、ドキュメントデータ自体を含むファイルが含まれます。ドキュメントデータはファイルのセットで構成されています - 各ファイルには、ドキュメントの個々のページのデータが含まれています。このようなファイルは、単一のページ要素と子要素のツリー - キャンバス 、 パス 、および glyphsで構成されています。 Canvasは、他のキャンバス、パス、およびGlyphsを含むグループ要素です。グループとしてのすべての子供の要素の外観を制御するのに役立ちます。 パス要素は、ベクトルグラフィックパスを定義するために使用されます。および glyphs要素は、テキストコンテンツを定義するために使用されます。 3つの要素はすべて、外観のさまざまな側面を定義するためのプロパティがあります。
Aspose.Pageライブラリがあり、XPSドキュメントを操作するためのAPIを提供し、PDFおよびラスター画像形式に変換します。
ラテックスをXPSに変換する方法
ラテックスからXPSへの変換は、 saveoptionsを xpssaveoptionsクラスインスタンス(デフォルトまたは明示的に)に設定する必要があり、 xpsdeviceクラスのインスタンスにデバイスを変更する必要があります。
最も簡単な変換例
以下の例は、LaTeX ファイルを XPS に変換する方法を数ステップで示しています。
TexDocumentインスタンスを作成します。TexDocument.Loadを使用して、ソースの.texファイルを読み込みます。- (オプション) 圧縮設定などの
XpsSaveOptionsを設定します。 XpsDeviceを指定してdocument.Saveを呼び出し、ドキュメントを 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}効果は ここを取得するのと同じです。
.NET APIのAsops.Texに基づいて構築された無料のLaTex-to-XPS変換 Webアプリをチェックアウトすることもできます。