Aspose.TeX 的输出接口 | .NET

请参阅 Aspose.TeX for .NETAPI 参考文档,了解 I/O 实现的正式定义。

输出目录的概念

由于 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 .NET 定义了通用的 IOutputTerminal 接口,该接口仅包含一个返回 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 .NET 提供了 IOutputTerminal 的实现,使我们能够将终端输出写入某个输出目录中的文件。

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.