AsposeTeXforPython – FAQ
Q: AsposeTeXforPython とは何ですか?
A: AsposeTeXforPython は、外部 TeX ディストリビューションを必要とせずに、LaTeX/TeX ドキュメントをレンダリングし、PDF、XPS、SVG、PNG、JPEG、BMP、TIFF およびその他の画像形式に変換する純粋な Python API (Pythonnet 経由で AsposeTeX .NET ライブラリ上に構築されています) です。インプロセスで実行され、Web サービス、デスクトップ アプリ、自動レポート ジェネレーターに適しています。
Q: AsposeTeXforPython をインストールするにはどうすればよいですか?
A: pip install aspose-tex-python-net を実行します。パッケージには、必要な pythonnet ランタイムが自動的にバンドルされます。 Python3.8以降を使用する任意の仮想環境(Windows、Linux、macOS)内にインストールします。次のコマンドを使用してインストールを確認します。
1import aspose.tex as tex
2print(tex.__version__)Q: ローカル TeX ディストリビューション (MiKTeX、TeXLive など) が必要ですか?
A: いいえ。すべての解析およびレンダリング ロジックは AsposeTeX に組み込まれているため、外部の TeX エンジンは必要ありません。このライブラリには、すぐに使用できる 300 を超えるコア LaTeX パッケージと共通のクラス ファイルが含まれています。
Q: 数行のコードで「.tex」ファイルを PDF に変換するにはどうすればよいですか?
A: Object LaTeX 構成、PdfSaveOptions、PdfDevice を使用して TeXJob を作成します。 ASPOSE_TEX_INPUT_FILE に LaTeX ファイル、ASPOSE_TEX_OUTPUT_DIR に出力ディレクトリを指定するか、例のパスを編集してください。既定値は hello-world.ltx と output です。事前にライセンスを適用してください。追加の入力ファイルはメイン文書と同じディレクトリから読み込まれ、処理は対話入力なしで実行されます。
ライセンス
1# Convert LaTeX to PDF.
2import os
3from pathlib import Path
4from aspose.tex import Interaction, TeXConfig, TeXJob, TeXOptions
5from aspose.tex.io import InputFileSystemDirectory, OutputFileSystemDirectory, OutputMemoryTerminal
6from aspose.tex.presentation.pdf import PdfDevice, PdfSaveOptions
7
8# Set these paths to your LaTeX document and output directory.
9input_file = Path(os.environ.get("ASPOSE_TEX_INPUT_FILE", "hello-world.ltx")).resolve()
10output_dir = Path(os.environ.get("ASPOSE_TEX_OUTPUT_DIR", "output")).resolve()
11if not input_file.is_file():
12 raise FileNotFoundError(input_file)
13output_dir.mkdir(parents=True, exist_ok=True)
14
15# Use the Object LaTeX format and resolve additional inputs beside the main file.
16options = TeXOptions.console_app_options(TeXConfig.object_latex)
17options.input_working_directory = InputFileSystemDirectory(str(input_file.parent))
18options.output_working_directory = OutputFileSystemDirectory(str(output_dir))
19options.interaction = Interaction.NONSTOP_MODE
20options.terminal_out = OutputMemoryTerminal()
21options.save_options = PdfSaveOptions()
22device = PdfDevice()
23job_result = TeXJob(str(input_file), device, options).run()出力名は入力名に対応します。hello-world.ltx から hello-world.pdf が生成されます。
LaTeX → PDF
Q: AsposeTeXforPython はどの出力形式を生成できますか?
A: PDF、XPS、SVG、PNG、JPEG、BMP、および TIFF。各形式は、特定の SaveOptions オブジェクト (例: PdfSaveOptions、PngSaveOptions、SvgSaveOptions) を介して制御できます。
Q: 生成された PDF にカスタム フォントを埋め込むにはどうすればよいですか?
A: フォントは TeX または LaTeX ドキュメントとそのパッケージで選択します。リソースについては
外部 LaTeX パッケージを参照してください。PdfSaveOptions の
subset_fonts プロパティは使用したグリフのみを埋め込むかどうかを制御するもので、カスタムフォントを選択するものではありません。同じオプションを使う完全な XPS の例は
フォントのサブセット化を参照してください。
Q: どのような LaTeX パッケージとクラスがそのままサポートされていますか?
A: ライブラリには一般的な LaTeX パッケージとクラスが含まれます。対応範囲は
組み込みパッケージ一覧を参照してください。
外部パッケージの例では、required_input_directory を通じて pgfplots のソースファイルを提供します。
Q: 組み込みではないサードパーティの .sty またはクラス ファイルを使用するにはどうすればよいですか?
A: TeXOptions.required_input_directory に、必要なパッケージファイルを含む InputFileSystemDirectory を設定します。完全な例では ExternalLaTeXPackages/packages から fancybox.sty を読み込み、required-input-fs.tex を PNG に変換します。ZIP アーカイブと互換性の制限については
外部 LaTeX パッケージを参照してください。
まず
ライセンスを適用します。ASPOSE_TEX_INPUT_DIR に、2 つの .tex ファイルと packages サブフォルダーを含む ExternalLaTeXPackages の親フォルダーを指定します(既定値:input)。ASPOSE_TEX_OUTPUT_DIR に出力フォルダーを指定します(既定値:output)。
1# Load an external LaTeX package from a directory.
2import os
3from pathlib import Path
4from os import path
5from io import BytesIO
6from aspose.tex import Interaction, TeXConfig, TeXJob, TeXOptions
7from aspose.tex.io import InputFileSystemDirectory, InputZipDirectory, OutputFileSystemDirectory, OutputMemoryTerminal
8from aspose.tex.presentation.image import ImageDevice, PngSaveOptions
9
10output_dir = Path(os.environ.get("ASPOSE_TEX_OUTPUT_DIR", "output")).resolve()
11output_dir.mkdir(parents=True, exist_ok=True)
12input_dir = Path(os.environ.get("ASPOSE_TEX_INPUT_DIR", "input")).resolve() / "ExternalLaTeXPackages"
13# Create conversion options for Object LaTeX format upon Object TeX engine extension.
14options = TeXOptions.console_app_options(TeXConfig.object_latex)
15options.interaction = Interaction.NONSTOP_MODE
16options.terminal_out = OutputMemoryTerminal()
17# Specify a file system working directory for the output.
18options.output_working_directory = OutputFileSystemDirectory(str(output_dir))
19# Specify a file system working directory for the required input.
20# The directory containing packages may be located anywhere.
21options.required_input_directory = InputFileSystemDirectory(path.join(str(input_dir), "packages"))
22# Initialize the options for saving in PNG format.
23options.save_options = PngSaveOptions()
24# Run LaTeX to PNG conversion.
25TeXJob(path.join(str(input_dir), "required-input-fs.tex"), ImageDevice(True), options).run()Q: エンジンの主な制限は何ですか?
A:
| 制限事項 | 詳細 |
|---|---|
シェル エスケープ (\write18) | セキュリティ上の理由により無効です。 |
| 完全な TikZ 外部化 | サポートされていません。ほとんどの TikZ グラフィックはインプロセスでレンダリングされますが、非常に複雑な描画は失敗する可能性があります。 |
| Unicode フォントのサポート範囲 | 完全なグリフ セットを持つ TrueType/OpenType フォントのみが完全にサポートされています。従来の Type1 フォントは変換が必要になる場合があります。 |
| 非常に大きなドキュメント (500 ページ超) | 大量のメモリを消費する可能性があります。Document.save(output_stream, options) を使用してページをストリーミングすることを検討してください。 |
Q: ライセンス キーを適用するにはどうすればよいですか?また、利用可能なライセンス モデルは何ですか?
A: 他の Aspose.TeX クラスを使用する前にライセンスを適用してください。ASPOSE_TEX_PYTHON_NET_LICENSE_PATH にライセンスファイルのパスを設定するか、作業ディレクトリに Aspose.TeX.Python-net.lic を配置します。
1# Apply a license from a file before using other Aspose.TeX classes.
2import os
3from aspose.tex import License
4
5# Set this environment variable, or place the license in the working directory.
6license_path = os.environ.get(
7 "ASPOSE_TEX_PYTHON_NET_LICENSE_PATH", "Aspose.TeX.Python-net.lic"
8)
9license = License()
10license.set_license(license_path)ファイル、ストリーム、Metered によるライセンス適用例と評価版の制限については、
ライセンスを参照してください。
Q: ライブラリは並列変換に対してスレッドセーフですか?
A: はい、各スレッドが独自の Document インスタンスを作成する場合に限ります。 「License」などの静的オブジェクトは、並行作業を開始する前に設定する必要があります。
Q: AsposeTeXforPython にはどの .NET ランタイム バージョンが必要ですか?
A: パッケージには .NET6 (x64) ランタイム バイナリが同梱されています。これらは最初のインポート時に Pythonnet によって自動的にロードされます。 .NET を手動でインストールする必要はありません。
Q: ラスター出力のページ サイズ、方向、DPI を設定するにはどうすればよいですか?
A: ページのサイズと向きは LaTeX ソースで指定します。例えば、この A4 横向き文書を landscape.ltx として保存してください。
1\documentclass{article}
2\usepackage[a4paper,landscape]{geometry}
3\begin{document}
4Hello, World!
5\end{document}保存オプションをジョブに設定する前に PngSaveOptions.resolution を指定します。この例では 300 DPI を使用します。ASPOSE_TEX_INPUT_FILE に landscape.ltx、ASPOSE_TEX_OUTPUT_DIR に出力ディレクトリを指定するか、既定のパスを使用してください。
1# Convert an A4 landscape LaTeX document to PNG at 300 DPI.
2import os
3from pathlib import Path
4from aspose.tex import Interaction, TeXConfig, TeXJob, TeXOptions
5from aspose.tex.io import InputFileSystemDirectory, OutputFileSystemDirectory, OutputMemoryTerminal
6from aspose.tex.presentation.image import ImageDevice, PngSaveOptions
7
8# Set these paths to your LaTeX document and output directory.
9input_file = Path(os.environ.get("ASPOSE_TEX_INPUT_FILE", "landscape.ltx")).resolve()
10output_dir = Path(os.environ.get("ASPOSE_TEX_OUTPUT_DIR", "output")).resolve()
11if not input_file.is_file():
12 raise FileNotFoundError(input_file)
13output_dir.mkdir(parents=True, exist_ok=True)
14
15# Use the Object LaTeX format and resolve additional inputs beside the main file.
16options = TeXOptions.console_app_options(TeXConfig.object_latex)
17options.input_working_directory = InputFileSystemDirectory(str(input_file.parent))
18options.output_working_directory = OutputFileSystemDirectory(str(output_dir))
19options.interaction = Interaction.NONSTOP_MODE
20options.terminal_out = OutputMemoryTerminal()
21# Page size and orientation are defined in the LaTeX input (geometry package).
22# Set the raster resolution in dots per inch.
23save_options = PngSaveOptions()
24save_options.resolution = 300
25options.save_options = save_options
26device = ImageDevice(True)
27job_result = TeXJob(str(input_file), device, options).run()結果は約 3508 × 2480 ピクセルの landscape.png です。
Q: LaTeX を文字列またはメモリ内ストリームから直接レンダリングできますか?
A: 完全な LaTeX 文書をバイナリ BytesIO ストリームに変換し、TeXConfig.object_latex を設定した TeXJob に渡します。ジョブ中はストリームを開いたままにします。出力は texput.xps と texput.log です。 ASPOSE_TEX_OUTPUT_DIR に出力ディレクトリを指定します(既定値:output)。事前にライセンスを適用してください。
Licensing.
1# Render LaTeX supplied as a binary in-memory stream to XPS.
2import os
3from pathlib import Path
4from aspose.tex import Interaction, TeXConfig, TeXJob, TeXOptions
5from io import BytesIO
6from aspose.tex.io import OutputFileSystemDirectory, OutputMemoryTerminal
7from aspose.tex.presentation.xps import XpsDevice
8
9output_dir = Path(os.environ.get("ASPOSE_TEX_OUTPUT_DIR", "output")).resolve()
10output_dir.mkdir(parents=True, exist_ok=True)
11
12options = TeXOptions.console_app_options(TeXConfig.object_latex)
13options.interaction = Interaction.NONSTOP_MODE
14options.output_working_directory = OutputFileSystemDirectory(str(output_dir))
15options.terminal_out = OutputMemoryTerminal()
16latex_source = r"\documentclass{article} \begin{document} Hello, World! \end{document}"
17device = XpsDevice()
18with BytesIO(latex_source.encode("ascii")) as input_stream:
19 job_result = TeXJob(input_stream, device, options).run()Q: 公式ドキュメント、コード サンプル、サポート チャネルはどこで見つけられますか?
A: 次のリソースを確認してください。
- 公式ドキュメント
- 【スタートガイド】(2)
- コードサンプルとGitHub要点
- 【サポートフォーラム】(4)
- Issue Tracker (顧客専用) - 購入後に提供されます
すべての例は Python と C# の両方で利用できます。 C# コードは Pythonnet のおかげで直接変換できます。