pdfTeX или pdfLaTeX под Windows/Java с использованием Bytestream

pdfTeX или pdfLaTeX под Windows/Java с использованием Bytestream

Я занимаюсь программированием сервлетов и мне было интересно, есть ли у pdfTeX или pdfLaTeX какие-то ручки для входных или выходных потоков байтов под Windows. Таким образом я мог бы передавать строку прямо в поток и передавать вывод в виде ответа PDF клиенту... есть идеи?

решение1

В некоторой степени pdfTeXможет читать стандартный ввод. Но не редкость компилировать файл LaTeX более одного раза, например, для оглавления или для правильного оформления ссылок.

В качестве выходных файлов (pdf) TeX записывает .logфайл в любом случае, и выходной файл не подходит для потоковой передачи, поскольку pdfTeXпереходит назад в записанном выходном файле. (Он записывает длину потока объекта потока PDF в словарь этого объекта перед потоковой частью.) А LaTeX может захотеть записать вспомогательные файлы ( .aux, .toc, …).

Таким образом, сервлет может прочитать входной поток, записать его в файл во временном каталоге и вызвать (pdf)(la)tex(или любой другой компилятор/формат TeX). Затем файл .logнужно проанализировать на rerunналичие чего-либо. Также другие программы, такие как bibtexили makeindexмогут нуждаться в вызове.

Затем, если компиляция завершена, выходной файл можно передать обратно, а временный каталог очистить.

Связанный контент