
私はサーブレット プログラミングを行っていますが、pdfTeX または pdfLaTeX に Windows での入力または出力バイトストリーム用のハンドルがあるかどうか疑問に思っています。この方法では、文字列を直接ストリームし、出力を PDF 応答としてクライアントにストリームすることができます...何かアイデアはありますか?
答え1
ある程度、pdfTeX
標準入力を読み取ることができます。ただし、目次や参照を正しくするためなど、LaTeX ファイルを複数回コンパイルすることは珍しくありません。
出力ファイルとして (pdf)TeX は.log
いずれの場合もファイルを書き込みますが、書き込まれた出力ファイル内でジャンプバックするため、出力ファイルはストリーミングには適していません。(PDF ストリーム オブジェクトのストリームの長さを、ストリーム部分の前にこのオブジェクトの辞書に書き込みます。) また、LaTeX は補助ファイル ( 、、…)pdfTeX
を書き込む場合があります。.aux
.toc
したがって、サーブレットは入力ストリームを読み取り、それを一時ディレクトリのファイルに書き込んで(pdf)(la)tex
(または任意の TeX コンパイラ/形式) を呼び出すことができます。次に、.log
ファイルを分析して内容を確認する必要があります。また、や などrerun
の他のプログラムを呼び出す必要がある場合もあります。bibtex
makeindex
その後、コンパイルの実行が終了したら、出力ファイルをストリームバックし、一時ディレクトリをクリーンアップできます。