ラテックスからPDF | Python用のAspose.TeX
ラテックスをPDFに変換します
次に、ラテックスをPDF形式に深く変換するための最も簡単なアプローチを提供する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 PDF format.
6options.save_options = PdfSaveOptions()
7# Run LaTeX to PDF conversion.
8TeXJob(path.join(Util.input_directory, "hello-world.ltx"), PdfDevice(), options).run()
まず、 Texoptionsクラスのインスタンスを作成する必要があります。 console_app_options()メソッドはこれを達成する唯一の静的メソッドです。そのため、その名前を心配しないでください。この方法では、 texconfigクラスの object_latexインスタンスを使用します。これは、 latexファイルを変換するのに最適です。この構成は、オブジェクトTex Engineにオブジェクトラテックス形式をロードし、ラテックスファイルを処理するように指示します。オブジェクトラテックス形式は、 LaTex形式と本質的に同じですが、 Object Tex固有のプリミティブを使用してページメトリックを定義します。
指定する必要がある最初のオプションは output_working_directoryです。これは、TEX出力が保存される場所を決定します。必要に応じて、 Aspose.TeXの出力ディレクトリの概念の詳細情報を見つけることができます。この特定のケースでは、 outputFilesSystemDirectoryクラスを使用して、出力を指定されたディレクトリまたはフォルダーに書き込むことができます。
2番目のオプションには、 saveoptionsクラスのインスタンスが必要であり、 オブジェクトモデルが目的の形式に変換される方法を決定します。私たちの場合、ラテックスをPDFに変換しているため、 pdfsaveoptionsクラスのインスタンスを指します。
ファイルシステムに保存されているラテックスファイルを変換するには、ファイルのフルパスをパラメーターとして使用する
コンストラクターを使用して
Texjobクラスのインスタンスを作成する必要があります。フルパスを指定しない場合、エンジンは現在のディレクトリ内のファイル(スクリプトのワーキングディレクトリ)を探し、それを見つけられない場合があります。ただし、エンジンが自動的に追加されるため、ファイルに.tex
拡張機能がある場合、拡張機能を省略できます。コンストラクターの2番目の引数は、
デバイスクラスのインスタンスです。私たちの場合、ラテックスをPDFに変換しているため、
PDFDeviceクラスのインスタンスです。最後に、最近準備された変換オプションを最後の引数として渡します。
さて、残っているのは、仕事を 実行することです。
実行後、成功したかどうかに関係なく、最初に表示されるのは端子出力です。実行が成功した場合、出力はこれに似ています。
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.pdf (1 page).
13Transcript written on hello-world.log.
出力ディレクトリとして指定したフォルダーには、トランスクリプトファイルがあります。
メイン出力PDFファイルを書き込む代替方法
- pdfdevice *クラスには、結果のpdfファイルを異なる方法で取得できる別の コンストラクターがあります。
1# Create the stream to write the PDF file to.
2with open(path.join(Util.output_directory, "any-name.pdf"), "wb") as pdf_stream:
3 # Create conversion options for Object LaTeX format upon Object TeX engine extension.
4 options = TeXOptions.console_app_options(TeXConfig.object_latex)
5 # Specify a file system working directory for the output.
6 options.output_working_directory = OutputFileSystemDirectory(Util.output_directory)
7 # Initialize the options for saving in PDF format.
8 options.save_options = PdfSaveOptions()
9 # Run LaTeX to PDF conversion.
10 TeXJob(path.join(Util.input_directory, "hello-world.ltx"), PdfDevice(pdf_stream), options).run()
メインの出力PDFファイルは「any-name.pdf」という名前で、指定されたディレクトリに配置されます。ただし、 画像出力とは異なり、変換オプションで指定された出力ディレクトリに他のPDFファイルはありません。例外は、「any-name.pdf」が *output_working_directory *オプションに割り当てられた同じファイルシステムディレクトリにある場合、 *outputFilesSystemDirectory *を使用している場合です。
入力オプションについて
メインの入力ファイルに、基本的なラテックスシステムに含まれていないパッケージやサポートされているパッケージなどの依存関係が必要な場合、
reburce_input_directoryオプションを * output_working_directory *オプションを設定し、そのディレクトリに依存関係を配置する必要があります。依存関係は、必要に応じてサブディレクトリで編成できます。さらに、外部グラフィックファイルなどの版形設定プロセスに含める独自のファイルがある場合は、
input_working_directoryを設定する必要があります。また、入力ディレクトリ内にメイン入力ファイルを配置し、 run()
メソッドの相対パスを指定したり、メインの入力ファイルがルートにある場合はまったくパスを指定したりすることもできます。 Python の Aspose.TeXの入力ディレクトリの概念の詳細および提供された実装については、
こちらを参照してください。
他のTexジョブオプションも議論されています。
また、 Aspose.TeX for .NET API を使用して開発された無料の LaTeX から PDF への変換用 Web アプリ を調べることもできます。