Windows/Java で Bytestream を使用した pdfTeX または pdfLaTeX

Windows/Java で Bytestream を使用した pdfTeX または pdfLaTeX

私はサーブレット プログラミングを行っていますが、pdfTeX または pdfLaTeX に Windows での入力または出力バイトストリーム用のハンドルがあるかどうか疑問に思っています。この方法では、文字列を直接ストリームし、出力を PDF 応答としてクライアントにストリームすることができます...何かアイデアはありますか?

答え1

ある程度、pdfTeX標準入力を読み取ることができます。ただし、目次や参照を正しくするためなど、LaTeX ファイルを複数回コンパイルすることは珍しくありません。

出力ファイルとして (pdf)TeX は.logいずれの場合もファイルを書き込みますが、書き込まれた出力ファイル内でジャンプバックするため、出力ファイルはストリーミングには適していません。(PDF ストリーム オブジェクトのストリームの長さを、ストリーム部分の前にこのオブジェクトの辞書に書き込みます。) また、LaTeX は補助ファイル ( 、、…)pdfTeXを書き込む場合があります。.aux.toc

したがって、サーブレットは入力ストリームを読み取り、それを一時ディレクトリのファイルに書き込んで(pdf)(la)tex(または任意の TeX コンパイラ/形式) を呼び出すことができます。次に、.logファイルを分析して内容を確認する必要があります。また、や などrerunの他のプログラムを呼び出す必要がある場合もあります。bibtexmakeindex

その後、コンパイルの実行が終了したら、出力ファイルをストリームバックし、一時ディレクトリをクリーンアップできます。

関連情報