※Linux上でしか動作しません。Windowsの場合はなんとかしてください。
LaTeXファイルを直接ファイルに生成して、dviにコンパイルして、pngとして取り出す。
ファイル名は $filename = time()にランダムな文字列を追加したもの(にしよう)。
-
$template = '
-
\documentclass[12pt]{article}
-
\usepackage{amsmath,amsthm,amssymb}
-
\begin{document}
-
\pagestyle{empty}
-
$ I=\int_{0}^{ \frac {1}{2}} \frac{x}{\sqrt{1-x^2}} dx $
-
\end{document}
-
';
latexがインストールされていることを確認したうえで、実行演算子 `` (バッククォート) を用いて
-
$filename = WWW_ROOT . 'files' . DS . 'pdf' . DS . 'dynamic' . DS . $randname;
-
$filename2 = $filename.'.tex';
-
//ファイル書き出し
-
file_put_contents($filename2 , $template );
-
//作業フォルダ指定
-
$dir = WWW_ROOT . 'files' . DS . 'pdf' . DS . 'dynamic' ;
-
-
//シェルコマンド生成
-
$command = "/usr/bin/platex ".$filename;
-
-
//実行(cd でカレント移動しておかないと /webroot で作業をしようとする)
-
pr($test);
-
-
-
//できあがったdviファイルをpngに変換
-
//シェルコマンド生成
-
$command = "/usr/bin/dvipng -D 720 -T tight ".$filename;
-
//実行(cd でカレント移動しておかないと /webroot で作業をしようとする)
-
pr($test);
動的に$template を生成すれば任意の数式のpng画像が生成される。
かっこええ!
生成された画像をpdfに埋め込んでウマー。 かな



最近のコメント