Aspose.TeXの出力インターフェイス| .NET経由でPython用のAspose.TeX
I/O 実装の正式な定義については、Aspose.TeX for Python の API リファレンス を参照してください。
出力ディレクトリの背後にあるアイデア
Aspose.TeXは、データのバルクがファイル、ストリーム、配列、またはその他のデータのデータを作成できる名前とデータのバルクのマッピングとしてディレクトリを定義します。 APIを使用すると、個別の入力および出力作業ディレクトリの仕様が可能になります。出力の場合、APIは一般的な ioutputworkingdirectoryインターフェイスを提供します。これは、特定のニーズのためにユーザーが実装できます。さらに、APIはすぐに使用できる実装を提供します。これについては以下で説明します。 ioutputworkingdirectoryインターフェイスは iinputworkingdirectoryを拡張します。エンジンが最初にファイルを作成して書き込み、次に読み戻すことができます。インターフェイスには、 get_output_file()メソッドが含まれます。これは、 get_file()メソッドとは対照的に、ストリームを書き込みます。
ディスクファイルシステムのファイルとして出力を保存する
上記 上記、 output_working_directoryは、一般に outputFilesSystemDirectoryクラスのインスタンスとして設定されます。
これが私たちがそれを設定する方法です:
ASPOSE_TEX_OUTPUT_DIR に出力ディレクトリを指定します(既定値:output)。事前にライセンスを適用してください。
Licensing.
1# Write an XPS document and its transcript to a file system directory.
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_tex())
13options.interaction = Interaction.NONSTOP_MODE
14options.output_working_directory = OutputFileSystemDirectory(str(output_dir))
15options.terminal_out = OutputMemoryTerminal()
16device = XpsDevice()
17with BytesIO(b"Hello, World!\\end") as input_stream:
18 job_result = TeXJob(input_stream, device, options).run()埋め込まれた plain TeX ストリームから、出力ディレクトリに texput.xps と texput.log を生成します。
zipアーカイブファイルとして出力を保存します。
別のオプションは、ファイルまたはストリームを作成し、zipアーカイブとして使用して出力ファイルを保存することです。これが例です:
1# Write an XPS document and transcript into a finalized ZIP archive.
2import os
3from pathlib import Path
4from aspose.tex import Interaction, TeXConfig, TeXJob, TeXOptions
5from io import BytesIO
6from aspose.tex.io import OutputZipDirectory, 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
12with (output_dir / "zip-xps-out.zip").open("wb") as output_stream:
13 directory = OutputZipDirectory(output_stream)
14 options = TeXOptions.console_app_options(TeXConfig.object_tex())
15 options.interaction = Interaction.NONSTOP_MODE
16 options.output_working_directory = directory
17 options.terminal_out = OutputMemoryTerminal()
18 try:
19 device = XpsDevice()
20 with BytesIO(b"Hello, World!\\end") as input_stream:
21 job_result = TeXJob(input_stream, device, options).run()
22 finally:
23 # Write the ZIP directory before closing its underlying stream.
24 directory.finish()zip-xps-out.zip をバイナリモード wb で開きます。ストリームを閉じる前に OutputZipDirectory の finish() を呼び出してください。アーカイブには texput.xps と texput.log が含まれます。
まず、zipファイルの出力ストリームを作成します。次に、変換オプションを作成した後、 outputzipdirectoryクラスのインスタンスにするように * output_working_directory *オプションを設定します。
出力端子の背後にあるアイデア
端子出力は、出力のもう1つの重要な側面です。このため、python for python Aspose.TeXは一般 ioutputterminalインターフェイスを定義します。これには、 TerminalWriterの実装のインスタンスを返す単一のプロパティがあります。利用可能な実装については、以下で説明します。
コンソールへの端子出力を書き込みます
これを達成するには、 outputconsoleterminalクラスのインスタンスとして terminal_outオプションを設定する必要があります。
1# Write TeX terminal output to the console.
2import os
3from pathlib import Path
4from aspose.tex import Interaction, TeXConfig, TeXJob, TeXOptions
5from io import BytesIO
6from aspose.tex.io import OutputFileSystemDirectory, OutputConsoleTerminal
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_tex())
13options.interaction = Interaction.NONSTOP_MODE
14options.output_working_directory = OutputFileSystemDirectory(str(output_dir))
15options.terminal_out = OutputConsoleTerminal()
16device = XpsDevice()
17with BytesIO(b"Hello, World!\\end") as input_stream:
18 job_result = TeXJob(input_stream, device, options).run()繰り返しますが、これはオプションのデフォルト値であるため、指定する必要はありません。したがって、このセクションは、デモンストレーションのためにのみ提供されます。
ファイルへの端子出力の書き込み
入力端子とは対照的に、python for python **のtexには、指定された出力ディレクトリ内のファイルに端子出力を書き込むことができるioutputterminalインターフェイスの実装が含まれています。
1# Write TeX terminal output to a .trm file.
2import os
3from pathlib import Path
4from aspose.tex import Interaction, TeXConfig, TeXJob, TeXOptions
5from io import BytesIO
6from aspose.tex.io import OutputFileSystemDirectory, OutputFileTerminal
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_tex())
13options.interaction = Interaction.NONSTOP_MODE
14options.output_working_directory = OutputFileSystemDirectory(str(output_dir))
15options.terminal_out = OutputFileTerminal(options.output_working_directory)
16device = XpsDevice()
17with BytesIO(b"Hello, World!\\end") as input_stream:
18 job_result = TeXJob(input_stream, device, options).run()OutputFileTerminal のコンストラクターは出力作業ディレクトリを受け取り、texput.xps と texput.log の隣に texput.trm を書き込みます。