Thinkphp5.1使用TCPDF类库生成PDF文件

在做项目中,由于使用的是thinkphp5.1框架,使用tcpdf生成的pdf文件在浏览器里显示输出文件流字符串;
这个问题只要:关闭调试模式即可

在ThinkPHP5.1上使用TCPDF,具体流程如下:

1、通过Composer下载最新版TCPDF,切换到程序根目录运行如下命令:

composer require tecnickcom/tcpdf

在这里插入图片描述

命令成功执行后,TCPDF会被下载到程序根目录中的vendor文件夹,如图:
在这里插入图片描述
examples中有60多个典型示例,需要什么功能直接看例子即可,例子对应列表见TCPDF官网:https://tcpdf.org/examples/

2.在控制器中调用TCPDF。

function get_pdf_test(){
        $html = <<<EOD
<h1>hello word 你好啊</h1>
EOD;
        //新建一个PDF文档
        //L 横排   P竖排
        $orientation='P';
        $unit='mm';
        $format='A4';
        $unicode=true;
        $encoding='UTF-8';
        $diskcache=false;
        $pdfa=false;
        $pdf = new \TCPDF($orientation, $unit, $format, $unicode, $encoding, $diskcache, $pdfa);

        $pdf->AddPage();
        $pdf->SetFont('stsongstdlight', '', 14); // 使用中文字体,不设置这个,中文就会乱码
        //如果要对html指定 宽度  writeHTMLCell更方便
        $pdf->writeHTMLCell(0, 0, 0, 0, $html, 0, 0, 0, true, '', true);
        //直接输入到浏览器
        //PDF输出   I:在浏览器中打开,D:下载,F:在服务器生成pdf ,S:只返回pdf的字符串
        $pdf->Output('demo.pdf', 'I');
    }

效果
在这里插入图片描述
3、中文乱码的问题

 $pdf->SetFont('stsongstdlight', '', 14); // 使用中文字体,不设置这个,中文就会乱码

4、TCPDF不能保存中文文件名的解决方法

打开tcpdf.php文件,找到output函数,大约在7554行。

1、注释以下代码,大约在7565-7568行:

if ($dest[0] != 'F') {
    $name = preg_replace('/[\s]+/', '_', $name);
    $name = preg_replace('/[^a-zA-Z0-9_\.-]/', '', $name);
}

2、搜索该方法代码,替换如下代码

header('Content-Disposition: attachment; filename="'.basename($name).'"'); 

替换为

header('Content-Disposition: attachment; filename="'.($name).'"'); 

点击下载TCPDF类库

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
thinkphp5.1完全开发手册.pdf是一本全面介绍了ThinkPHP 5.1框架开发的手册。ThinkPHP是一款相当流行的PHP开源框架,它具有良好的扩展性和易用性,适用于各种规模的Web应用开发。 这本开发手册详细介绍了ThinkPHP 5.1框架的使用方法和各种功能。首先,手册介绍了如何安装和配置ThinkPHP框架,包括服务器环境配置和数据库连接设置。然后,手册详细讲解了ThinkPHP框架的MVC架构,包括控制器、模型和视图的使用方法和关系。 接下来,手册针对常用的功能模块进行了深入的讲解。比如,数据库操作模块介绍了如何使用ThinkPHP的ORM功能进行数据库的增删改查操作。表单验证模块介绍了如何使用ThinkPHP的验证器进行数据验证。文件上传、缓存、日志记录等功能由浅入深地讲解了使用方法。 此外,手册还介绍了ThinkPHP框架的路由、中间件、事件和插件等高级功能,以及如何进行单元测试和异常处理。 这本手册的优点是系统完整地介绍了ThinkPHP 5.1框架的各种功能和用法,对于初学者来说非常友好。而对于有一定经验的开发者来说,手册也提供了足够的细节和实例,帮助他们了解和应用框架更高级的特性。 总而言之,thinkphp5.1完全开发手册.pdf是一本全面详细的ThinkPHP 5.1框架开发指南,既适合初学者入门,又适合有经验的开发者查漏补缺,是学习和使用ThinkPHP框架的重要参考资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值