Aspose.TeXの出力インターフェイス | .NET

正式な I/O 実装の定義については、Aspose.TeX for .NETAPI リファレンス を参照してください。

出力ディレクトリの概念

TeX 言語の I/O プリミティブはファイル名しか扱えないため、Aspose.TeX はディレクトリを名前とデータの塊とのマッピングとして定義します。データの塊はファイル、ストリーム、配列、その他あらゆるものと想定されます。API は入力と出力の作業ディレクトリを別々に指定できるようにします。出力用の一般的な IOutputWorkingDirectory インターフェイスを提供しており、ユーザーはそれを独自の目的で実装できます。また、以下で説明する独自の実装も提供しています。このインターフェイスは IInputWorkingDirectory を継承しており、エンジンはまずファイルを作成・書き込み、そしてそれを再び読み取ることがあります。インターフェイス独自のメソッド GetOutputFile() は書き込み用ストリームを返し、 GetFile() が返すのは読み取り用ストリームです。

ディスクファイルシステムへのファイル出力

前述の 上記 で述べたように、 OutputDirectory の最も一般的な値は、おそらく OutputFileSystemDirectory クラスのインスタンスです。

1// Writing file output to the disk file system
2
3// Create conversion options instance.
4TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
5// ...
6// Specify a file system working directory for the output.
7options.OutputWorkingDirectory = new OutputFileSystemDirectory(OutputDir);

このユースケースは非常にシンプルなので、これ以上詳しく説明する必要はありません。

ZIP アーカイブへのファイル出力

ファイル(またはストリーム)を作成し、TeX エンジンにそれを ZIP アーカイブとして出力ファイルを格納させることもできます。例は次のとおりです:

 1// Writing file output to a ZIP archive
 2
 3// Open the stream for the ZIP archive that will serve as the output working directory.
 4using (Stream outZipStream = File.Open(Path.Combine(OutputDir, "zip-pdf-out.zip"), FileMode.Create))
 5{
 6    // Create conversion options instance.
 7    TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
 8    // ...
 9    // Specify a ZIP archive working directory for the output.
10    options.OutputWorkingDirectory = new OutputZipDirectory(outZipStream);

まず、ZIP ファイル用の出力ストリームを作成します。その後、変換オプションを作成し、 OutputWorkingDirectory オプションを OutputZipDirectory クラスのインスタンスに設定します。

出力ターミナルの概念

出力にはもう一つ重要な部分があります — ターミナル出力です。これについては、Aspose.TeX for .NETIOutputTerminal インターフェイスを定義しており、 TextWriter 実装インスタンスを返す唯一のプロパティを持ちます。提供されている実装は以下で説明します。

コンソールへのターミナル出力

これを行うには、 TerminalOut オプションを OutputConsoleTerminal クラスのインスタンスに設定する必要があります。

1// Writing terminal output to the console
2
3// Create conversion options instance.
4TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
5// ...
6// Specify the console as the output terminal.
7options.TerminalOut = new OutputConsoleTerminal(); // Default value. Arbitrary assignment.

これはオプションのデフォルト値でもあるため、明示的に指定する必要は実質的にありません。そのため、このセクションはデモンストレーション目的にとどまります。

ファイルへのターミナル出力

入力ターミナルとは異なり、Aspose.TeX for .NETIOutputTerminal の実装を提供しており、ターミナル出力を任意の出力ディレクトリ内のファイルに書き込むことができます。

1// Writing terminal output to a file
2
3// Create conversion options instance.
4TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
5// ...
6// Specify that the terminal output must be written to a file in the output working directory.
7// The file name is <job_name>.trm.
8options.TerminalOut = new OutputFileTerminal(options.OutputWorkingDirectory);

ここでは、TeX エンジンにターミナル出力を名前が <job_name>.trm のファイルに書き込むよう指示します。このファイルは他の出力と同じディレクトリに保存されます。ただし、必ずしもそうする必要はありません。任意の IOutputTerminal 実装のインスタンスをコンストラクタに渡すことも可能です。

Have any questions about Aspose.TeX?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.