您可以将信息输出到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