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:
1import aspose.tex as tex
2
3doc = tex.Document("sample.tex") # load LaTeX source
4doc.save("sample.pdf", tex.SaveFormat.PDF) # write PDF文字列 (tex.Document(latex_source)) またはメモリ内ストリームからドキュメントを作成することもできます。
Q: AsposeTeXforPython はどの出力形式を生成できますか?
A: PDF、XPS、SVG、PNG、JPEG、BMP、および TIFF。各形式は、特定の SaveOptions オブジェクト (例: PdfSaveOptions、ImageSaveOptions、SvgSaveOptions) を介して制御できます。
Q: 生成された PDF にカスタム フォントを埋め込むにはどうすればよいですか?
A: レンダリングする前にカスタム フォント フォルダーを登録します。
1font_src = tex.FontSource()
2font_src.add_folder(r"C:\MyFonts") # or "/home/user/fonts"
3tex.FontSettings.set_default_sources([font_src])
4doc.save("out.pdf", tex.PdfSaveOptions())デフォルトでは、使用されているすべてのフォントが埋め込まれます。 PdfSaveOptions.embed_fonts = False で埋め込みを無効にします。
Q: どのような LaTeX パッケージとクラスがそのままサポートされていますか?
A: 300 を超えるコア パッケージ (例: amsmath、graphicx、hyperref、xcolor、tikz、pgfplots、booktabs) および共通クラス (article、report、book、memoir)。
Q: 組み込みではないサードパーティの .sty またはクラス ファイルを使用するにはどうすればよいですか?
A: .sty/.cls ファイルをソース ドキュメントと同じディレクトリに配置するか、そのフォルダをドキュメントのリソース ローダーに追加します。
1doc = tex.Document("mydoc.tex")
2doc.resource_loaders.append(tex.FolderResourceLoader(r"C:\MyLatexPackages"))エンジンは次回の変換時にカスタム ファイルを自動的に読み込みます。
Q: エンジンの主な制限は何ですか?
A:
| 制限事項 | 詳細 |
|---|---|
シェル エスケープ (\write18) | セキュリティ上の理由により無効です。 |
| 完全な TikZ 外部化 | サポートされていません。ほとんどの TikZ グラフィックはインプロセスでレンダリングされますが、非常に複雑な描画は失敗する可能性があります。 |
| Unicode フォントのサポート範囲 | 完全なグリフ セットを持つ TrueType/OpenType フォントのみが完全にサポートされています。従来の Type1 フォントは変換が必要になる場合があります。 |
| 非常に大きなドキュメント (500 ページ超) | 大量のメモリを消費する可能性があります。Document.save(output_stream, options) を使用してページをストリーミングすることを検討してください。 |
Q: ライセンス キーを適用するにはどうすればよいですか?また、利用可能なライセンス モデルは何ですか?
A: プロセスごとに 1 回ライセンスを適用します。
1import aspose.tex as tex
2tex.License().set_license("Aspose.Total.NET.lic")ライセンス オプション: 無料トライアル (10 ページ制限、ウォーターマークなし)、開発者/シングルマシン (1 台のマシンで無制限のページ)、エンタープライズ/マルチシート (優先サポートにより組織全体で無制限)。
Q: ライブラリは並列変換に対してスレッドセーフですか?
A: はい、各スレッドが独自の Document インスタンスを作成する場合に限ります。 「License」などの静的オブジェクトは、並行作業を開始する前に設定する必要があります。
Q: AsposeTeXforPython にはどの .NET ランタイム バージョンが必要ですか?
A: パッケージには .NET6 (x64) ランタイム バイナリが同梱されています。これらは最初のインポート時に Pythonnet によって自動的にロードされます。 .NET を手動でインストールする必要はありません。
Q: ラスター出力のページ サイズ、方向、DPI を設定するにはどうすればよいですか?
A: PageSetup オブジェクトと ImageSaveOptions オブジェクトを使用します。
1doc.page_setup.size = tex.PageSize.A4
2doc.page_setup.orientation = tex.PageOrientation.LANDSCAPE
3
4opts = tex.ImageSaveOptions()
5opts.dpi = 300
6doc.save("out.png", opts)Q: LaTeX を文字列またはメモリ内ストリームから直接レンダリングできますか?
A: その通りです。 LaTeX ソース文字列をコンストラクターに渡すか、io.BytesIO ストリームを使用します。
1src = r"\section{Hello}\textbf{World}"
2doc = tex.Document(src) # from string
3# or
4stream = io.BytesIO(src.encode())
5doc = tex.Document(stream) # from streamQ: 公式ドキュメント、コード サンプル、サポート チャネルはどこで見つけられますか?
A: 次のリソースを確認してください。
- 公式ドキュメント
- 【スタートガイド】(2)
- コードサンプルとGitHub要点
- 【サポートフォーラム】(4)
- Issue Tracker (顧客専用) - 購入後に提供されます
すべての例は Python と C# の両方で利用できます。 C# コードは Pythonnet のおかげで直接変換できます。