JSlip  1.0
Tex.php
Go to the documentation of this file.
1 <?php
8 class Tex
9 {
10  public $uid; // ユニークID
11  public $tsv, $tex, $dvi; // ファイル名
12  public $pdf, $log; // ファイル名
13 
14  // PDFファイル作成
15  public function makePdf($wd, $tmplt, $tsv)
16  {
17  // コマンド作成
18  $cmd1 = UTL_PHP . ' -f ' . $tmplt . ' ' . $tsv;
19  $cmd2 = UTL_PLATEX . ' ' . $this->tex;
20  $cmd3 = './nostderr ' . UTL_DVIPDFMX . ' ' . $this->dvi;
21 
22  $cwd = getcwd(); // 現在のディレクトリを憶えておきます。
23  chdir($wd); // PDF作成作業ディレクトリに移動します。
24 
25  // TeXファイル作成
26  ob_start();
27  passthru($cmd1);
28  $var = ob_get_contents();
29  ob_end_clean();
30  file_put_contents($this->tex, $var);
31 
32  // PDFファイル作成(結果はファイルlogに書き込みます。)
33  ob_start();
34  passthru($cmd2);
35  passthru($cmd3);
36  $var = ob_get_contents();
37  ob_end_clean();
38  file_put_contents($this->log, $var);
39 
40  chdir($cwd); // get back to where you once belong.
41  }
42 
43  public function __construct()
44  {
45  $uid = uniqid('_pdf_');
46  $this->uid = $uid;
47  $this->tsv = $uid . '.tsv'; // tmpltファイルが必要とするデータファイル名。
48  $this->tex = $uid . '.tex';
49  $this->dvi = $uid . '.dvi';
50  $this->pdf = $uid . '.pdf';
51  $this->log = $uid . '.log';
52  }
53 }
UTL_DVIPDFMX
const UTL_DVIPDFMX
Definition: local.php:54
UTL_PLATEX
const UTL_PLATEX
Definition: local.php:53
Tex\$uid
$uid
Definition: Tex.php:10
UTL_PHP
const UTL_PHP
Definition: local.php:51
Tex\$tex
$tex
Definition: Tex.php:11
Tex\$pdf
$pdf
Definition: Tex.php:12
Tex\__construct
__construct()
Definition: Tex.php:43
Tex\$dvi
$dvi
Definition: Tex.php:11
Tex\$log
$log
Definition: Tex.php:12
Tex\makePdf
makePdf($wd, $tmplt, $tsv)
Definition: Tex.php:15
Tex
Definition: Tex.php:8
Tex\$tsv
$tsv
Definition: Tex.php:11