
Estou fazendo programação de servlet e queria saber se o pdfTeX ou o pdfLaTeX têm algum identificador para bytestreams de entrada ou saída no Windows. Dessa forma, eu poderia transmitir uma string diretamente e transmitir a saída como uma resposta em PDF para o cliente...alguma ideia?
Responder1
Até certo ponto, pdfTeX
pode ler a entrada padrão. Mas não é incomum compilar um arquivo LaTeX mais de uma vez, por exemplo, para o índice ou para obter as referências corretas.
Como arquivos de saída (pdf), o TeX grava um .log
arquivo em qualquer caso e o arquivo de saída não é adequado para streaming, porque pdfTeX
volta para o arquivo de saída escrito. (Ele grava o comprimento do fluxo de um objeto de fluxo PDF no dicionário deste objeto antes da parte do fluxo.) E o LaTeX pode querer escrever arquivos auxiliares ( .aux
, .toc
,…).
Assim, o servlet poderia ler o fluxo de entrada, gravá-lo em um arquivo em um diretório temporário e chamá-lo (pdf)(la)tex
(ou qualquer compilador/formato TeX). Então o .log
arquivo precisa ser analisado em busca de rerun
coisas. Além disso, outros programas como bibtex
ou makeindex
podem precisar estar ligando.
Então, se as execuções de compilação forem concluídas, o arquivo de saída poderá ser transmitido de volta e o diretório temporário poderá ser limpo.