博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
thinkphp-PHP实现pdf导出功能
阅读量:6121 次
发布时间:2019-06-21

本文共 4105 字,大约阅读时间需要 13 分钟。

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');
}

转载于:https://www.cnblogs.com/luzt/p/9390672.html

你可能感兴趣的文章
【XCode7+iOS9】http网路连接请求、MKPinAnnotationView自定义图片和BitCode相关错误--备用...
查看>>
各大公司容器云的技术栈对比
查看>>
记一次eclipse无法启动的排查过程
查看>>
【转】jmeter 进行java request测试
查看>>
读书笔记--MapReduce 适用场景 及 常见应用
查看>>
SignalR在Xamarin Android中的使用
查看>>
Eclipse和MyEclipse使用技巧--Eclipse中使用Git-让版本管理更简单
查看>>
[转]响应式表格jQuery插件 – Responsive tables
查看>>
8个3D视觉效果的HTML5动画欣赏
查看>>
C#如何在DataGridViewCell中自定义脚本编辑器
查看>>
【linux】crontab定时命令
查看>>
Android UI优化——include、merge 、ViewStub
查看>>
Office WORD如何取消开始工作右侧栏
查看>>
Android Jni调用浅述
查看>>
CodeCombat森林关卡Python代码
查看>>
第一个应用程序HelloWorld
查看>>
(二)Spring Boot 起步入门(翻译自Spring Boot官方教程文档)1.5.9.RELEASE
查看>>
Android Annotation扫盲笔记
查看>>
React 整洁代码最佳实践
查看>>
聊聊架构设计做些什么来谈如何成为架构师
查看>>