ラテックスからXPS | C ++のAspose.TeX
Aspose.TeX がサポートするもう一つのターゲット形式は XPS です。XPS ファイルは、ページ区切りのドキュメントコンテンツと、特定のビューア(Windows XPS Viewer など)での適切な表示や印刷に必要なメタデータを含む ZIP パッケージです。パッケージ内のすべてのデータはファイルで表現されます。ファイルの中にはバイナリ形式のものもあり、画像、フォント、ICC プロファイルなどのリソースが含まれています。また、様々な特定スキーマで記述された XML ファイルもあります。後者には、ドキュメントデータ自体を含むファイルも含まれます。ドキュメントデータは複数のファイルで構成され、各ファイルにはドキュメントの各ページのデータが含まれています。これらのファイルは、単一のページ要素と、子要素(Canvas、Path、Glyphs)のツリーで構成されます。Canvas はグループ化要素であり、他の Canvas、Path、Glyphs を含めることができます。その役割は、すべての子要素の外観をグループとして制御することです。 Path要素はベクターグラフィックのパスを定義するために使用されます。また、Glyphs要素はテキストコンテンツを定義するために使用されます。これら3つの要素はすべて、外観のさまざまな側面を定義するプロパティを持っています。
Aspose.Pageライブラリがあり、XPSドキュメントを操作するためのAPIを提供し、PDFおよびラスター画像形式に変換します。
ラテックスをXPSに変換する方法
XPSへの変換は、 saveoptionsに加えて、 xpsdeviceクラスのインスタンスにデバイスを変更する必要があることを除いて、 ラスター画像形式への変換と同じくらい簡単です。
1...
2// Initialize the options for saving in Xps format.
3options->set_SaveOptions(System::MakeObject<XpsSaveOptions>());
4
5System::MakeObject<Aspose::TeX::TeXJob>(u"hello-world.ltx", System::MakeObject<XpsDevice>(), options)->Run();
メイン出力XPSファイルを書き込む代替方法
XPSDeviceクラスの別のコンストラクターがあります。これにより、結果のXPSファイルを別の方法で取得できます。
1 // Create the stream to write the XPS file to.
2 {
3 System::SharedPtr<System::IO::Stream> xpsStream = System::IO::File::Open(System::IO::Path::Combine(RunExamples::OutputDirectory, u"any-name.xps"), System::IO::FileMode::Create);
4 // Clearing resources under 'using' statement
5 System::Details::DisposeGuard<1> __dispose_guard_0({ xpsStream});
6 // ------------------------------------------
7
8 try
9 {
10 // Create conversion options for Object LaTeX format on Object TeX engine extension.
11 System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::get_ObjectLaTeX());
12 // Specify the file system working directory for the output.
13 options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(RunExamples::OutputDirectory));
14 // Initialize the options for saving in XPS format.
15 options->set_SaveOptions(System::MakeObject<XpsSaveOptions>());
16 // Default value.
17 // Run LaTeX to XPS conversion.
18 System::MakeObject<TeXJob>(System::IO::Path::Combine(RunExamples::InputDirectory, u"hello-world.ltx"), System::MakeObject<XpsDevice>(xpsStream), options)->Run();
19 }
20 catch(...)
21 {
22 __dispose_guard_0.SetCurrentException(std::current_exception());
23 }
24 }
効果は[ここ]を取得するのと同じです(7)。
.NETのAsops.TexAPIに基づいて構築された無料のLaTex-to-XPS変換 Webアプリをチェックアウトすることもできます。 ここはC ++バージョンページです。