Interface de saída do Aspose.TeX | Java

Consulte Aspose.TeX para java 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 getouputfile() retorna o fluxo para gravar, em oposição ao fluxo para ler retornado por getfile().

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

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

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

1// Create conversion options instance.
2...
3// Specify a file system working directory for the output.
4options.setOutputWorkingDirectory(new OutputFileSystemDirectory(Utils.getOutputDirectory()));

Este caso de uso é bastante simples, por isso não vamos nos debruçar por um longo tempo.

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// Open the stream for the ZIP archive that will serve as the output working directory.
 2final OutputStream outZipStream = new FileOutputStream(Utils.getOutputDirectory() + "zip-pdf-out.zip");
 3{
 4    // Create conversion options instance.
 5    ...
 6    // Specify a ZIP archive working directory for the output.
 7    options.setOutputWorkingDirectory(new OutputZipDirectory(outZipStream));
 8} finally {
 9    if (outZipStream != null)
10        outZipStream.close();
11}

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 java define a interface Geral ioutputTerminal como tendo dois métodos. Um deles retorna uma instância BufferWriter. Outro retorna uma instância outputStream como o fluxo subjacente. As implementações fornecidas da interface 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// Create conversion options instance.
2...
3// Specify the console as the input terminal.
4options.setTerminalOut(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 Java 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// Create conversion options instance.
2...
3// Specify that the terminal output must be written to a file in the output working directory.
4// The file name is <job_name>.trm.
5options.setTerminalOut(new OutputFileTerminal(options.getOutputWorkingDirectory()));

Aqui, pedimos ao mecanismo Tex que escreva a saída do terminal no arquivo com o nome <Cob_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.