php前台导出功能,thinkphp-PHP实现pdf导出功能

Thinkphp框架引用tcpdf插件,插件下载地址:待续。。。

代码编写前先引入tcpdf整个文件夹到项目目录的ThinkPHP文件夹下 如:/ThinkPHP/Library/Vendor/tcpdf

其他的不多说直接上代码

导出考试结果明细

public function export()

{

// 导出考试结果明细(PDF)

$id = I('id');

$detailed = D('member_test_result');

$parameter = $detailed->detailedResults($id);

$name = $parameter['member_name'];

$result = json_decode($parameter['test_result_str']);

foreach ($result as $k => $v) {

$test = M('test_cont');

$array['question_title'] = $test->where('id=' . $k)->getField('qustion_title');

//正确选项

$array['state'] = $test->where('id=' . $k)->getField('state');

//正确答案

$wheres['test_id'] = $k;

$wheres['state'] = $array['state'];

$array['stateresult'] = M('test_answer')->where($wheres)->getField('answer_name');

//选项

$array['cont'] = $v;

//选项内容

$where['test_id'] = $k;

$where['state'] = $array['cont'];

$array['result'] = M('test_answer')->where($where)->getField('answer_name');

$data[] = $array;

}

$content = '';

$content .= '';

$content .= '

';

$content .= '';

$content .= '

考试结果';

$content .= '';

$content .= '

';

$content .= '

';

$content .= '

考试结果

';

$content .= '

';

$content .= '

姓名:';

$content .= $name;

$content .= '';

$content .= '1231';

$content .= '';

$content .= '考试用时:';

$content .= gmdate("i:s", $parameter['time_cost']);

$content .= '';

$content .= '1231';

$content .= '';

$content .= '考试分数:';

$content .= $parameter['score'];

$content .= '';

$content .= '


';

foreach ($data as $k => $v) {

$content .= '

';

$content .= $k + 1;

$content .= '、';

$content .= $v['question_title'];

$content .= '

';

$content .= '

您的选项为:';

$content .= $v['cont'];

$content .= '

';

$content .= '

您的答案为:';

$content .= $v['result'];

$content .= '

';

$content .= '

正确选项为:';

$content .= $v['state'];

$content .= '

';

$content .= '

正确答案为:';

$content .= $v['stateresult'];

$content .= '

';

};

$content .= '

';

$content .= '';

$content .= '';

pdf($content);

}

pdf方法

function pdf($html){

vendor('Tcpdf.tcpdf');

$pdf = new \Tcpdf('P', 'mm', 'A4', true, 'UTF-8', false);

// 设置打印模式,设置文档信息

$pdf->SetCreator(PDF_CREATOR);

$pdf->SetAuthor('Nicola Asuni');

$pdf->SetTitle('Examination result(考试结果)');

$pdf->SetSubject('TCPDF Tutorial');

$pdf->SetKeywords('TCPDF, PDF, PHP, example, test, guide');

// 是否显示页眉和是否显示页脚

$pdf->setPrintHeader(false);

$pdf->setPrintFooter(true);

// 设置页眉和页脚信息内容

$pdf->SetHeaderData('logo.jpg', 40, 'Helloweba.com', '小白测试', array(0,64,255), array(0,64,128));

$pdf->setFooterData(array(0,64,0), array(0,64,128));

// 设置页眉和页脚字体

$pdf->setHeaderFont(Array('dejavusans', '', '12'));

$pdf->setFooterFont(Array('dejavusans', '', '10'));

// 设置间距

$pdf->SetHeaderMargin('5');

$pdf->SetFooterMargin('10');

// 设置左、上、右的间距

$pdf->SetMargins('10', '10', '10');

// 设置是否自动分页 距离底部多少距离时分页

$pdf->SetAutoPageBreak(TRUE, '15');

// 设置默认等宽字体

$pdf->SetDefaultMonospacedFont('courier');

// 设置行高

$pdf->setCellHeightRatio(1);

// 设置图像比例因子

$pdf->setImageScale(1.25);

//设置默认字体子集模式

$pdf->setFontSubsetting(true);

// 设置字体

$pdf->SetFont('stsongstdlight', '', 14, '', true);

$pdf->AddPage();

$pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);

//PDF输出 I:在浏览器中打开,D:下载,F:在服务器生成pdf ,S:只返回pdf的字符串

$pdf->Output(rand_string('9').'.pdf', 'I');

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值