Interface de saída do Aspose.TeX | .NET

Consulte Aspose.TeX para .NET Referência da API para obter definições formais de implementação de E/S.

O conceito de diretório de saída

Como as primitivas de E/S do idioma TEX só podem lidar com nomes de arquivos, Aspose.TeX define um diretório como um mapeamento entre nomes e volumes de dados. Os ma tetos de dados devem ser arquivos, fluxos, matrizes ou qualquer outra coisa. A API nos permite especificar os diretórios de trabalho de entrada e saída separadamente. Ele fornece a interface Geral ioutputworkingDirectory para a saída, que o usuário pode implementar para seus próprios propósitos. Ele também fornece suas próprias implementações, que serão discutidas abaixo. A interface estende iInputWorkingDirectory, pois o mecanismo pode primeiro criar e escrever um arquivo e depois leia -o novamente. O próprio método da interface getOutputFile() retorna o fluxo para gravar, em oposição ao fluxo para ler devolvido por getFile().

Escrevendo a saída do arquivo no sistema de arquivos de disco

Como mencionamos acima, o valor mais comum para o OputDirectory provavelmente seria uma instância da classe outputFilesystemDirectory.

Aqui está como nós o definiríamos:

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);

Este caso de uso é bastante simples, então não há mais necessidade de se concentrar nele.

Escrevendo a saída do arquivo em um arquivo zip

Também podemos criar um arquivo (ou fluxo) e deixar o mecanismo TEX usá -lo como um arquivo zip para armazenar os arquivos de saída. Aqui está:

 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);

Primeiro, criamos um fluxo de saída para o arquivo zip. Então, depois de criar as opções de conversão, definimos a opção OutputWorkingDirectory para ser uma instância da classe outputzipDirectory.

O conceito do terminal de saída

Há outra parte importante da saída-a saída do terminal. Quanto a este, Aspose.TeX para .NET define a interface Geral ioutputTerminal com apenas uma propriedade que retorna uma instância de implementação textwriter. As implementações desde que são discutidas abaixo.

Escrevendo saída do terminal para o console

Para fazer isso, precisamos definir a opção Terminalout para ser uma instância da classe 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.

Novamente, esse é o valor padrão da opção; portanto, não há necessidade real de especificá -lo. Devido a isso, esta seção serve apenas fins de demonstração.

Escrevendo a saída do terminal em um arquivo

Ao contrário do terminal de entrada, Aspose.TeX para .NET fornece uma implementação do ioutputMerminal, que nos permite gravar a saída do terminal em um arquivo em algum diretório de saída.

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);

Aqui, pedimos ao mecanismo Tex que escreva a saída do terminal no arquivo com o nome <Job_Name> .TRM, que será armazenado no mesmo diretório de saída que especificamos para o restante da saída. Mas isso não é necessário. Podemos também passar em qualquer outra instância de qualquer implementação do ioutputMerminal para o construtor.

Have any questions about Aspose.TeX?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.