イメージへのラテックス| C ++のAspose.TeX
C ++のAspose.TeXも、LaTexファイルを他の多くのラスター画像形式に変換することもできます。
ラテックスをPNGに変換する方法
C ++のコードを詳細に見てみましょう。ラテックスをPNG形式に変換する最も簡単な方法を提供します。
したがって、私たちが最初に行う必要があること(まあ、時には最初のものではないこともあります)は、 テキサプティオンクラスのインスタンスを作成することです。これを行う唯一の静的方法は consoleappoptions()です。したがって、その名前の意味に困惑しないようにしましょう。このメソッドは、 texconfigクラスの get_objectlatex()instanceを取得します。この構成は、Object Tex EngineにObject Latex形式をロードし、LaTexファイルを受け入れる準備ができているように指示します。オブジェクトラテックス形式は、実際には latex形式にすぎませんが、 オブジェクトTex特定のプリミティブを使用してページメトリックをセットアップすることを除きます。
必要なオプションの最初は outputworkingdirectoryで、TEX出力が記述されるスペースまたはエリアを定義します。 ここは、c ++ for Aspose.TeXの出力ディレクトリの概念の詳細です。この例では、 outputfilesystemdirectoryクラスを使用して、指定されたディレクトリまたはフォルダーに出力を書き込むことができます。
2番目のオプションは、 オブジェクトモデルのターゲット形式への変換を制御する SaveOptionsクラスインスタンスです。ラテックスをPNGに変換しているため、 pngsaveoptionsクラスインスタンスであり、出力画像の解像度を指定できます。
次に、 texjobクラスのインスタンスを作成する必要があります。ファイルシステムに保存されているラテックスファイルを変換したいので、 Thisバージョンのコンストラクターを使用します。ファイルへのフルパスを指定する必要があります。それ以外の場合、エンジンは現在のディレクトリ( currentDirectory)でそれを探しますが、おそらく見つけられないでしょう。それにもかかわらず、ファイルに .tex 1がある場合、拡張子を省略する場合があります。エンジンは自動的に追加されます。コンストラクターの2番目の引数は、 デバイスクラスインスタンスです。ラテックスをPNGに変換しているため、 Imagedeviceクラス(サポートされているすべての画像形式に共通)インスタンスです。最後の議論として、最近準備された変換オプションに合格します。
今やるべきことは、仕事を 走るだけです。
実行が成功したかどうかに関係なく、私たちが見る最初の結果は端子出力になります。成功した場合、それは次のように見えます:
1This is ObjectTeX, Version 3.1415926-1.0 (Aspose.TeX 21.8)
2entering extended mode
3
4(<input_directory>\hello-world.ltx
5LaTeX2e <2011/06/27>
6(article.cls
7Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
8(size10.clo))
9No file hello-world.aux.
10[1]
11(<output_directory>\hello-world.aux) )
12Output written on hello-world.png (1 page).
13Transcript written on hello-world.log.
出力ディレクトリとして指定したフォルダーに、エンジンの労働力の他の「果物」があります。これらはトランスクリプトファイルであり、ここにあります!、メインの出力PNG画像ファイルです。
メイン出力PNGファイルを書き込む代替方法
画像データをバイト配列の配列として取得する別の方法があり、2番目のディメンションの各配列は別のページの画像データを表します。
1 // Create conversion options for Object LaTeX format on Object TeX engine extension.
2 System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::get_ObjectLaTeX());
3 // Specify the file system working directory for the output.
4 options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(RunExamples::OutputDirectory));
5 // Initialize the options for saving in PNG format.
6 options->set_SaveOptions(System::MakeObject<PngSaveOptions>());
7 // Run LaTeX to PNG conversion.
8 System::SharedPtr<ImageDevice> device = System::MakeObject<ImageDevice>();
9 System::MakeObject<TeXJob>(System::IO::Path::Combine(RunExamples::InputDirectory, u"hello-world.ltx"), device, options)->Run();
10
11 // Save pages file by file.
12 for (int32_t i = 0; i < device->get_Result()->get_Length(); i++)
13 {
14 {
15 System::SharedPtr<System::IO::Stream> fs = System::IO::File::Open(System::IO::Path::Combine(RunExamples::OutputDirectory, System::String(u"page-") + (i + 1) + u".png"), System::IO::FileMode::Create);
16 // Clearing resources under 'using' statement
17 System::Details::DisposeGuard<1> __dispose_guard_0({ fs});
18 // ------------------------------------------
19
20 try
21 {
22 fs->Write(device->get_Result()[i], 0, device->get_Result()[i]->get_Length());
23 }
24 catch(...)
25 {
26 __dispose_guard_0.SetCurrentException(std::current_exception());
27 }
28 }
29 }
- “page-n.png” *ファイルは、指定する任意のパスに書き込まれます。 PDF出力とは異なり、それらは出力ディレクトリに書き込まれた出力PNGファイルを複製します。
入力オプションについて
メイン入力ファイルに、基本的なラテックスシステムに含まれておらず、サポートされているパッケージに含まれていないパッケージなどの依存関係が必要な場合は、
RequiredInputDirectoryオプションを設定する必要があります。依存関係は、サブディレクトリで任意に組織される場合があります。タイプセットプロセス、たとえば外部グラフィックファイルに沿って含める独自のファイルがある場合は、それらのファイルが収集される場所へのパスを使用して
inputWorkingDirectoryを設定する必要があります。また、入力ディレクトリ内のどこかにメイン入力ファイルを配置し、 run()
メソッドの相対パスを指定することもできます(または、メイン入力ファイルがルートにある場合はパスをまったく指定しません)。
ここは、c ++ の Aspose.TeXの入力ディレクトリの概念の詳細であり、実装を提供しています。
他のTEXジョブオプションについて説明します ここ。
.NETのAsops.TexAPIに基づいて構築された無料のLaTex-to-PNG変換 Webアプリをチェックアウトすることもできます。 ここはC ++バージョンページです。
以下では、他のサポートされているラスター画像形式へのラテックス変換について説明します。実際には詳細がないからといって、詳細には触れません。唯一の違いは、変換オプションの SaveOptionsプロパティのタイプです。
ラテックスをJPEGに変換する方法
1...
2// Initialize the options for saving in JPEG format.
3options->set_SaveOptions(System::MakeObject<JpegSaveOptions>());
.NETのAspose.TeXAPIに基づいて構築された無料のLaTex-to-JPEGコンバージョン Webアプリをチェックアウトすることもできます。 ここはC ++バージョンページです。
ラテックスをTIFFに変換する方法
1...
2// Initialize the options for saving in TIFF format.
3options->set_SaveOptions(System::MakeObject<TiffSaveOptions>());
.netのAspose.TeXAPIに基づいて構築された無料のラテックス間変換 Webアプリをチェックアウトすることもできます。 ここはC ++バージョンページです。
ラテックスをBMPに変換する方法
1...
2// Initialize the options for saving in BMP format.
3options->set_SaveOptions(System::MakeObject<BmpSaveOptions>());
.NETのasops.texAPIに基づいて構築された無料のラテックスからBMPへの変換 Webアプリをチェックアウトすることもできます。 ここはC ++バージョンページです。