您可以將信息輸出到LaTeX文件(假設機器已安裝)。我假設你從數據庫中獲取所有你的學生信息到一個名爲students
的數組中。如果您使用mySQL或類似的存儲數據,這應該很簡單。
這應該會生成一個report.tex
文件,然後執行pdflatex來生成report.pdf
文件。
<?
$f = fopen('report.tex','w');
$out = '\documentclass{article}
\usepackage{a4wide}
\begin{document}
';
fwrite($f,$out);
//Example array
$students = array(array('studentId'=> 1, 'Math'=> 1, 'English'=> 5 , 'Science' => 5, 'Class' =>6, 'totals'=>6 , 'Rank'=>7 , 'myClass' =>7, 'myTotals'=>9));
foreach($students as $x){
$out = '\begin{table}[htbp]'."\n".' \centering'."\n";
$out .= '\begin{tabular}{|r|r|r|r|r|r|r|r|r|}'."\n";
$out .= '\hline'."\n";
$out .= 'studentId & Math & English & Science & Class & totals & Rank & myClass & myTotals \\\\ '."\n \\hline \n";
$out .= "{$x['studentId']} & {$x['Math']} & {$x['English']} & {$x['Science']} & {$x['Class']} & {$x['totals']} & {$x['Rank']} & {$x['myClass']} & {$x['myTotals']} ";
$out .= '\\\\'."\n \\hline";
$out .= '\end{tabular} '."\n".' \end{table}'."\n".'\newpage' ."\n";
fwrite($f,$out);
}
fwrite($f,"\n".'\end{document}');
fclose($f);
echo (exec('pdflatex report.tex'));
echo "\ndone";
?>
該腳本現在正常工作,生成一個正確的文件。讓服務器發送PDF給你不應該太難。
那麼你想每頁一行? – 2011-02-24 14:29:01
如果您習慣於編寫HTML,則可以嘗試使用其中一種[HTML to PDF轉換器](http://stackoverflow.com/q/3178448/264628)。 – BrianS 2011-02-24 22:38:06