如何解决tp框架引入tcpdf插件步骤以及TCPD中文乱码的问题

  介绍

这篇文章主要介绍了如何解决tp框架引入tcpdf插件步骤以及TCPD中文乱码的问题,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

做项目时用到HTML生成PDF,发现tcpdf插件功能比较适合,因此选择了这款插件具体流程如下:

1。通过作曲家下载最新版TCPDF,切换到程序根目录运行如下命令(Windows下DOS命令切换):

作曲家需要tecnickcom/TCPDF

命令成功执行后,TCPDF会被下载到程序根目录中供应商的文件夹,如图:
如何解决tp框架引入TCPDF插件步骤以及TCPD中文乱码的问题

例子中有60多个典型示例,需要什么功能直接看例子即可,例子对应列表见TCPDF官网:https://tcpdf.org/examples/

2。在控制器中调用TCPDF。

使用TCPDF;

3。在方法中直接粘贴官方示例中的代码,成功运行。

 pdf美元=new TCPDF (PDF_PAGE_ORIENTATION、PDF_UNIT PDF_PAGE_FORMAT,真的,& # 39;utf - 8 # 39;,假);
  pdf→美元SetCreator (PDF_CREATOR);
  pdf→美元SetAuthor(& # 39;尼古拉Asuni& # 39;);
  pdf→美元SetTitle (& # 39; TCPDF例子001 & # 39;);
  pdf→美元SetSubject (& # 39; TCPDF教程# 39;);
  pdf→美元SetKeywords (& # 39; TCPDF, pdf,示例中,测试指南# 39;);
  pdf→美元SetHeaderData (PDF_HEADER_LOGO、PDF_HEADER_LOGO_WIDTH PDF_HEADER_TITLE强生# 39;001 & # 39;,PDF_HEADER_STRING数组(0,64255),数组(0,64128));
  pdf→美元setFooterData(数组(0 64 0),数组(0,64128));
  pdf→美元setHeaderFont(数组(PDF_FONT_NAME_MAIN & # 39; & # 39;, PDF_FONT_SIZE_MAIN));
  pdf→美元setFooterFont(数组(PDF_FONT_NAME_DATA & # 39; & # 39;, PDF_FONT_SIZE_DATA));
  pdf→美元SetDefaultMonospacedFont (PDF_FONT_MONOSPACED);
  pdf→美元SetMargins (PDF_MARGIN_LEFT, PDF_MARGIN_TOP PDF_MARGIN_RIGHT);
  pdf→美元SetHeaderMargin (PDF_MARGIN_HEADER);
  pdf→美元SetFooterMargin (PDF_MARGIN_FOOTER);
  pdf→美元SetAutoPageBreak(真的,PDF_MARGIN_BOTTOM);
  pdf→美元setImageScale (PDF_IMAGE_SCALE_RATIO);
  如果(@file_exists(目录名(__FILE__) # 39;公司/lang/eng.php& # 39;)) {
  require_once(目录名(__FILE__) # 39;公司/lang/eng.php& # 39;);
  pdf→美元setLanguageArray ($ l);
  }
  pdf→美元setFontSubsetting(真正的);
  pdf→美元SetFont (& # 39; dejavusans& # 39;, & # 39; & # 39;, 14日& # 39;& # 39;,true);
  pdf→美元AddPage ();
  pdf→美元setTextShadow(数组(& # 39;启用# 39;=祝辞;的确,& # 39;depth_w& # 39;=祝辞0.2 & # 39;depth_h& # 39;=祝辞0.2 & # 39;颜色# 39;=祝辞阵列(196196196),& # 39;透明度# 39;=祝辞1 & # 39;blend_mode& # 39;=祝辞& # 39;正常# 39;));
  $ html=& lt; & lt; & lt;爆炸品处理
  & lt; h2>欢迎& lt; https://www.yisu.com/zixun/a href=" http://www.tcpdf.org "风格="文字修饰:没有;background - color: # CC0000;颜色:黑色;">   <跨风格="颜色:白色;"> PDF  。
  <我>这是第一个例子,TCPDF图书馆。
  

本文使用<我> writeHTMLCell印刷()方法但您还可以使用:<我>多单元的(),writeHTML(),写(),细胞()和文本()。

  

请检查源代码文档和其他例子进一步信息。

  改善和扩大TCPDF我需要你的支持,请捐助!

  爆炸品处理;   $ pdf -> writeHTMLCell (0, 0,”、“, html,美元0,1,0,真的,”,真正的);   (“example_001 $ pdf ->输出。pdf”、“我”);

注意事项:

1。因为TCPDF使用定界符的方式输出html等内容,因此上述代码中美元的html一直到爆炸品处理必须顶格。

2。ThinkPHP要关闭调试模式,不然输出乱码。


最新版本的TCPDF已经支持中文,在生成PDF的方法中显示指定使用中文编码即可。

PDF→美元SetFont (& # 39; stsongstdlight& # 39; & # 39; & # 39;, 12);

php使用TCPDF生成PDF文件时,如果文件名是中文会被直接过滤掉,以下是TCPDF不能保存中文文件名的解决方法:

打开TCPDF。php文件,找到输出函数,大约在7554行。

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

 if($桌子[0]!=& # 39;f # 39;) {
  $ name=preg_replace (& # 39;/[\ s] + & # 39;, & # 39; _ # 39;,美元名称);
  $ name=preg_replace (& # 39;/[^ a-zA-Z0-9_ \。]/& # 39;, & # 39; & # 39;,美元名称);
  }

2,搜索该方法代码,替换如下代码,大约分别在7639,7670,7693,7718行。

如何解决tp框架引入tcpdf插件步骤以及TCPD中文乱码的问题