当前位置:首页 > CMS教程 > Thinkphp > 列表

thinkPHP框架整合tcpdf插件操作示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-10-22 10:06:42 浏览: 评论:0 

本文实例讲述了thinkPHP框架整合tcpdf插件操作,分享给大家供大家参考,具体如下:

网上查了些关于tcpdf 使用教程,整合到TP的话,会有些小问题,由于基础还不是很扎实,花了点时间终于整合OK了,下面介绍步骤:

环境:

TP版本:TP3.2.2

tcpdf:tcpdf_6_2_3

步骤:

1. 将tcpdf_6_2_3.zip解压在Web root目录下面,把examples文件夹下面的tcpdf_include.php文件拷贝到tcpdf文件夹下面,再把tcpdf/config/tcpdf_config.php内容替换成tcpdf/examples/config/tcpdf_config_alt.php中的内容

这里要注意的是:tcp_include.php中 $tcpdf_include_dirs数组要多添加一行:“realpath('./').'/tcpdf/tcpdf.php',”

2. 新建test.php

  1. <?php 
  2. // Include the main TCPDF library (search for installation path). 
  3. require_once('./tcpdf/tcpdf_include.php'); 
  4. // create new PDF document 
  5. $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 
  6. // set document information 
  7. $pdf->SetCreator(PDF_CREATOR); 
  8. $pdf->SetAuthor('Nicola Asuni'); 
  9. $pdf->SetTitle('TCPDF Example'); 
  10. $pdf->SetSubject('TCPDF Tutorial'); 
  11. $pdf->SetKeywords('TCPDF, PDF, example, test, guide'); 
  12. // set default header data 
  13. $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' wisvalley', PDF_HEADER_STRING); 
  14. // set header and footer fonts 
  15. $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); 
  16. $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); 
  17. // set default monospaced font 
  18. $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); 
  19. // set margins 
  20. $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); 
  21. $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); 
  22. $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); 
  23. // set auto page breaks 
  24. $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); 
  25. // set image scale factor 
  26. $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); 
  27. // set some language-dependent strings (optional) 
  28. if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { 
  29.  require_once(dirname(__FILE__).'/lang/eng.php'); 
  30.  $pdf->setLanguageArray($l); 
  31. // --------------------------------------------------------- 
  32. // set font 
  33. //$pdf->SetFont('helvetica', '', 20); 
  34. $pdf->SetFont('stsongstdlight''', 20); 
  35. // add a page 
  36. $pdf->AddPage(); 
  37. $txt = 'your content'
  38. $pdf->Write(0, $txt'', 0, 'L', true, 0, false, false, 0); 
  39. $pdf->Output('/var/www/example_038.pdf''I');//浏览器预览 
  40. //$pdf->Output('example_038.pdf', 'F');//存储文件 
  41. //$pdf->Output('example_038.pdf', 'D');//下载文件 

这样就可以了。

下面说下我碰到的几个问题:

1.我把这些代码拷贝到TP控制器的某个方法里面报错:Class 'Home\Controller\TCPDF' not found

解答:

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

改成

$pdf = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

对于tp3.2引入了命名空间,这个‘\'很重要

2.TCPDF ERROR: Unable to create output file: example_038.pdf

解答:$pdf->Output('/var/www/example_038.pdf', 'I');路径要为据对路径。

Tags: thinkPHP框架整合 tcpdf插件

分享到: