イメージへのラテックス| .NET

.NETのAspose.TeXを使用すると、ラテックスファイルを多数のラスター画像形式に変換できます。

ラテックスをPNGに変換する方法

C#のコードを詳細に見てみましょう。ラテックスをPNG形式に変換する最も簡単な方法を提供します。

 1// Convert LaTeX to PNG - 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 PNG format.
10PngSaveOptions pngOptions = new PngSaveOptions();
11// Set image resolution to 300 DPI.
12pngOptions.Resolution = 300;
13options.SaveOptions = pngOptions;
14
15// Run LaTeX to PNG conversion.
16new TeXJob(Path.Combine(DataDir, "hello-world.ltx"), new ImageDevice(), options).Run();

したがって、私たちが最初に行う必要があること(まあ、時には最初のものではないこともあります)は、 テキサプティオンクラスのインスタンスを作成することです。これを行う唯一の静的方法は consoleappoptions()です。したがって、その名前の意味に困惑しないようにしましょう。このメソッドは、 TexConfigクラスの ObjectLatexインスタンスを取ります。これは LaTexファイルの変換に正確に適しています。この構成は、Object Tex EngineにObject Latex形式をロードし、LaTexファイルを受け入れる準備ができているように指示します。オブジェクトラテックス形式は、実際には latex形式にすぎませんが、 オブジェクトTex特定のプリミティブを使用してページメトリックをセットアップすることを除きます。

必要なオプションの最初は outputworkingdirectoryで、TEX出力が記述されるスペースまたはエリアを定義します。 ここは、.net for .net for ** Aspose.TeXの出力ディレクトリの概念の詳細です。この例では、 outputfilesystemdirectoryクラスを使用して、指定されたディレクトリまたはフォルダーに出力を書き込むことができます。

2番目のオプションは、 オブジェクトモデルのターゲット形式への変換を制御する SaveOptionsクラスインスタンスです。ラテックスをPNGに変換しているため、 pngsaveoptionsクラスインスタンスであり、出力画像の解像度を指定できます。

次に、 texjobクラスのインスタンスを作成する必要があります。ファイルシステムに保存されているラテックスファイルを変換したいので、 Thisバージョンのコンストラクターを使用します。ファイルへのフルパスを指定する必要があります。それ以外の場合、エンジンは現在のディレクトリ( currentDirectory)でそれを探しますが、おそらく見つけられないでしょう。それにもかかわらず、 .tex拡張機能は省略できます。エンジンは自動的に追加されます。コンストラクターの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番目のディメンションの各配列は別のページの画像データを表します。

別の変換例

以下のC#スニペットは、画像データをファイルシステムに直接書き込むのではなく、メモリストリームに書き込むことでPNG出力を取得する別の方法を示しています。この方法は、生成されたPNGバイトをメモリ内に保存しておき、ネットワーク経由で送信したり、データベースに保存したり、保存前に追加の変換を実行したりするなど、さらなる処理が必要な場合に便利です。

 1// Convert LaTeX to PNG - alternative approach with manual page-by-page saving
 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 PNG format.
10PngSaveOptions pngSaveOptions = new PngSaveOptions();
11// Disable automatic image writing - we'll write them manually.
12pngSaveOptions.DeviceWritesImages = false;
13options.SaveOptions = pngSaveOptions;
14
15// Create the image device.
16ImageDevice device = new ImageDevice();
17
18// Run LaTeX to PNG conversion.
19new TeXJob(Path.Combine(DataDir, "hello-world.ltx"), device, options).Run();
20
21// Save pages file by file (useful for multi-page documents).
22for (int i = 0; i < device.Result.Length; i++)
23{
24    using (Stream fs = File.Open(Path.Combine(OutputDir, $"page-{i + 1}.png"), FileMode.Create))
25        fs.Write(device.Result[i], 0, device.Result[i].Length);
26}

*“page-n.png”*ファイルは、指定する任意のパスに書き込まれます。 PDF出力とは異なり、それらは出力ディレクトリに書き込まれた出力PNGファイルを複製します。

入力オプションについて

メイン入力ファイルに、基本的なラテックスシステムに含まれておらず、サポートされているパッケージに含まれていないパッケージなどの依存関係が必要な場合は、 RequiredInputDirectoryオプションを設定する必要があります。依存関係は、サブディレクトリで任意に組織される場合があります。タイプセットプロセス、たとえば外部グラフィックファイルに沿って含める独自のファイルがある場合は、それらのファイルが収集される場所へのパスを使用して inputWorkingDirectoryを設定する必要があります。また、メイン入力ファイルを入力ディレクトリ内のどこかに配置し、 run()メソッドの相対パスを指定することもできます(または、メイン入力ファイルがルートにある場合はパスをまったく指定しません)。 ここは、.net Aspose.TeXの入力ディレクトリの概念の詳細であり、実装が提供されています。

他のTEXジョブオプションについて説明します ここ

.NET APIのAsops.Texに基づいて構築された無料のLaTex-to-PNG変換 Webアプリをチェックアウトすることもできます。

以下では、実際には詳細がないため、詳細に深く沈むことなく、他のサポートされているラスター画像形式へのラテックス変換について説明します。唯一の違いは、変換オプションの SaveOptionsプロパティのタイプです。

ラテックスをJPGに変換する方法

 1// Convert LaTeX to JPEG
 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 JPEG format.
10options.SaveOptions = new JpegSaveOptions();
11
12// Run LaTeX to JPEG conversion.
13new TeXJob(Path.Combine(DataDir, "hello-world.ltx"), new ImageDevice(), options).Run();

.NET APIのasophes.texに基づいて構築された無料のLaTex-to-JPG変換 Webアプリをチェックアウトすることもできます。

ラテックスをTIFFに変換する方法

 1// Convert LaTeX to TIFF
 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 TIFF format.
10options.SaveOptions = new TiffSaveOptions();
11
12// Run LaTeX to TIFF conversion.
13new TeXJob(Path.Combine(DataDir, "hello-world.ltx"), new ImageDevice(), options).Run();

.NET APIのAspose.TeXに基づいて構築された無料のラテックスからティフへの変換 Webアプリをチェックアウトすることもできます。

ラテックスをBMPに変換する方法

 1// Convert LaTeX to BMP
 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 BMP format.
10options.SaveOptions = new BmpSaveOptions();
11
12// Run LaTeX to BMP conversion.
13new TeXJob(Path.Combine(DataDir, "hello-world.ltx"), new ImageDevice(), options).Run();

.NET APIのAspose.TeXに基づいて構築された無料のラテックスからBMPへの変換 Webアプリをチェックアウトすることもできます。

ラテックスをSVGに変換する方法

さらにサポートされているターゲット形式は svgです。 **Scalable Vector Graphics(SVG)**は、対話性とアニメーションをサポートする2次元グラフィックを定義するためのXMLベースのベクトル画像形式です。

SVG画像はベクトルグラフィック形式で定義され、XMLテキストファイルに保存されます。 SVG画像は品質を失うことなくサイズをスケーリングでき、SVGファイルは検索、インデックス作成、スクリプト化、および圧縮できます。 XMLテキストファイルは、テキストエディターまたはベクトルグラフィックスエディターで作成および編集でき、最も使用されているWebブラウザーによってレンダリングされます。

svgに関連するさまざまな機能を提供する aspose.svgライブラリがあります。これらには、svgドキュメントの作成、読み込み、編集、変換が含まれます。

ラテックスからSVGへの変換は、 saveoptionssvgsaveoptionsクラスインスタンスに設定する必要があり、デバイスを svgdeviceクラスのインスタンスに変更する必要があることを除いて、 ラスター画像形式への変換と同じくらい簡単です。

 1// Convert LaTeX to SVG - 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 SVG format.
10options.SaveOptions = new SvgSaveOptions();
11
12// Run LaTeX to SVG conversion.
13new TeXJob(Path.Combine(DataDir, "hello-world.ltx"), new SvgDevice(), options).Run();

.NET APIのAspose.TeXに基づいて構築された無料のLaTex-to-SVG変換 Webアプリをチェックアウトすることもできます。

Have any questions about Aspose.TeX?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.