イメージへのラテックス| Python用のAspose.TeX
PythonのAsops.texは、LaTexファイルをさまざまなラスター画像形式に変換する機能を提供します。
ラテックスをPNGに変換します
次に、ラテックスをPNG形式に深く変換するための最も簡単なアプローチを提供するPythonコードを調べましょう。
1# Create conversion options for Object LaTeX format upon Object TeX engine extension.
2options = TeXOptions.console_app_options(TeXConfig.object_latex)
3# Specify a file system working directory for the output.
4options.output_working_directory = OutputFileSystemDirectory(Util.output_directory)
5# Initialize the options for saving in PNG format.
6options.save_options = PngSaveOptions()
7
8# Run LaTeX to PNG conversion.
9TeXJob(path.join(Util.input_directory, "hello-world.ltx"), ImageDevice(True), options).run()
まず、 console_app_options()メソッドを使用して texoptionsクラスのインスタンスを作成する必要があります。名前を心配しないでください。インスタンスを作成するのは静的な方法だけです。この方法では、 texconfigクラスの object_latexインスタンスを取ります。これは、 latexファイルを変換するのに最適です。この構成により、オブジェクトTexエンジンを設定して、オブジェクトラテックス形式をロードし、ラテックスファイルを処理する準備ができています。オブジェクトラテックス形式は基本的に ラテックス形式と同じですが、 Object Tex特定のプリミティブを使用してページメトリックを定義します。
必須オプションの1つ目は output_working_directoryで、TeX出力の保存場所を指定します。ご興味があれば、 Aspose.TeX for Pythonにおける output directory出力ディレクトリの概念について詳細をご確認ください。この例では、 OutputFileSystemDirectoryクラスを使用して、出力を特定のディレクトリまたはフォルダーに書き込みます。
2番目のオプションは、 オブジェクトモデルから目的の形式への変換の管理を担当する SaveOptionsクラスのインスタンスです。この場合、ラテックスをPNGに変換するため、 pngsaveoptionsクラスインスタンスを使用して、出力画像の解像度を指定できます。
次に、
texjobクラスのインスタンスを作成します。この場合、ファイルシステムに保存されているラテックスファイルを変換するため、
コンストラクターのこのバージョンを使用します。ファイルへのフルパスを提供する必要があります。そうしないと、エンジンは現在のディレクトリ(スクリプトのワーキングディレクトリ)でそれを探し、それを見つけられない場合があります。ただし、エンジンが自動的に追加されるため、 .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番目のディメンションの各配列が個別のページの画像データを表すバイト配列の配列として画像データを取得する代替方法があります。
1# Create conversion options for Object LaTeX format upon Object TeX engine extension.
2options = TeXOptions.console_app_options(TeXConfig.object_latex)
3# Specify a file system working directory for the output.
4options.output_working_directory = OutputFileSystemDirectory(Util.output_directory)
5# Initialize the options for saving in PNG format.
6so = PngSaveOptions()
7so.device_writes_images = False # Run LaTeX to PNG conversion.
8options.save_options = so
9device = ImageDevice(True)
10TeXJob(path.join(Util.input_directory, "hello-world.ltx"), device, options).run()
11
12# Save pages file by file.
13for i in range(len(device.result)):
14 with open(path.join(Util.output_directory, f"page-{(i + 1)}" + ".png"), "wb") as fs:
15 fs.write(device.result[i][0:len(device.result[i])])
「page-n.png」ファイルは、指定されたパスに書き込むことができます。 PDF出力とは異なり、これらのPNGファイルは、出力ディレクトリに書き込まれる出力PNGファイルを複製します。
入力オプションについて
メインの入力ファイルに、基本的なラテックスシステムやサポートされているパッケージに含まれていないパッケージなどの依存関係が必要な場合、
rebuse_input_directoryオプションを * output_working_directory *オプションの設定方法と同様の方法で設定し、そのディレクトリに依存関係を配置する必要があります。依存関係は、必要に応じてサブディレクトリで編成できます。外部グラフィックファイルなどの版形セットプロセスに含めるファイルがある場合は、
input_working_directoryをそれらのファイルが保存されている場所に設定する必要があります。また、入力ディレクトリ内にメイン入力ファイルを配置し、 run()
メソッドの相対パスを指定したり、メイン入力ファイルがルートディレクトリにある場合はパスをまったく指定したりすることもできます。また、
入力ディレクトリの概念の詳細については、Aspose.TeXと説明されている実装が記載されています。
また、 他のTEXジョブオプションはこちらを学びます。
** LaTex-to-PNG変換用の無料 Webアプリを探索することもできます。
以下に、有意な違いがないため、あまり詳細に飛び込むことなく、ラテックスの他のサポートされているラスター画像形式への変換を簡単に説明します。唯一のバリエーションは、変換オプションの save_optionsプロパティのタイプにあります。
ラテックスをJPGに変換します
1# Create conversion options instance.
2...
3# Initialize the options for saving in JPEG format.
4options.save_options = JpegSaveOptions()
** LaTex-to-JPG変換用のWebアプリを探索することもできます。
ラテックスをTIFFに変換します
1# Create conversion options instance.
2...
3# Initialize the options for saving in TIFF format.
4options.save_options = TiffSaveOptions()
また、 Aspose.TeX for .NET API を使用して開発された無料の LaTeX から TIFF への変換用 Web アプリ を調べることもできます。
ラテックスをBMPに変換します
1# Create conversion options instance.
2...
3# Initialize the options for saving in BMP format.
4options.save_options = BmpSaveOptions()
** LaTex-to-BMP変換用のWebアプリを探索することもできます。
ラテックスをSVGに変換します
別のサポートされているターゲット形式は svgです。 **Scalable Vector Graphics(SVG)**は、2次元グラフィックを定義するために使用されるXMLベースのベクトル画像形式です。対話性とアニメーションをサポートします。
SVG画像はXMLテキストファイルに保存され、ベクトルグラフィック形式で定義されています。これは、svg画像を品質を失うことなくサイズでスケーリングできることを意味し、svgファイル自体を検索、インデックス作成、スクリプト化、および圧縮できます。 XMLテキストファイルは、テキストエディターまたはベクトルグラフィックスエディターを使用して作成および編集でき、最も一般的に使用されるWebブラウザーによってレンダリングできます。
Aspose.svgAPIは、svgの作成、読み込み、編集、変換など、svgを操作するためのさまざまな機能を提供します。
ラテックスをSVGに変換することは ラスター画像形式に変換と同じくらい簡単です。唯一の違いは、 save_optionsを svgsaveoptionsクラスのインスタンスに設定する必要があることです。
1# Create conversion options for Object LaTeX format upon Object TeX engine extension.
2options = TeXOptions.console_app_options(TeXConfig.object_latex)
3# Specify a file system working directory for the output.
4options.output_working_directory = OutputFileSystemDirectory(Util.output_directory)
5# Initialize the options for saving in SVG format.
6options.save_options = SvgSaveOptions()
7# Run LaTeX to SVG conversion.
8TeXJob(path.join(Util.input_directory, "hello-world.ltx"), SvgDevice(), options).run()
** LaTex-to-SVG変換用のWebアプリを探索することもできます。