ThinkPHP使用Tcpdf导出pdf文档

需求说明

在实际项目需求中,需要将数据以文档的形式导出

版本说明

ThinkPPHP 3.2.3

tcpdf6.2.12()

集成步骤

  1. 将tcpdf文件夹放到thinkPHP的Library的Vender文件夹下
  2. 在代码中引入tcpdf
  3. 编写代码导出pdf文件,(tcpdf examples

导出pdf案例

public function export_pdf(){
		ob_start();
		vendor('tcpdf.tcpdf_import','simplewind/Core/Library/Vendor','.php');
		$pdf = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
                //设置字体
		$pdf->SetFont('stsongstdlight', '', 12);
		// ---------------------------------------------------------
		$title = $_REQUEST['title'];
		// set document information
		$pdf->SetCreator(PDF_CREATOR);
		$pdf->SetAuthor('Nicola Asuni');
		$pdf->SetTitle("$title");
		$pdf->SetSubject('TCPDF Tutorial');
		$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
		// set default header data设置页眉
		$pdf->SetHeaderData('', '', $truename.'的文档', $company_name);
		// set header and footer fonts设置页眉字体
		$pdf->setHeaderFont(Array('stsongstdlight', '', PDF_FONT_SIZE_MAIN));
		$pdf->setFooterFont(Array('stsongstdlight', '', PDF_FONT_SIZE_DATA));
		// set default monospaced font
		$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
		// set margins
		$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
		$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
		$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
		// set auto page breaks
		$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
		// set image scale factor
		$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
		// set some language-dependent strings (optional)
		if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
			require_once(dirname(__FILE__).'/lang/eng.php');
			$pdf->setLanguageArray($l);
		}
		// set default font subsetting mode
		$pdf->setFontSubsetting(true);
		// add a page
		$pdf->AddPage();
		//Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=0, $link='', $stretch=0, $ignore_min_height=false, $calign='T', $valign='M')
		$pdf->setCellPaddings(1, 1, 1, 1);
		// set cell margins
		$pdf->setCellMargins(1, 1, 1, 1);
		// set color for background
		$pdf->SetFillColor(255, 255, 127);
		$txt = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';
		// Multicell test单元格
		$pdf->MultiCell(90, 5, "姓         名:$truename", 0, 'L', 0, 0, '', '', true);
		//换行
		$pdf->Ln(8);
		$pdf->SetFont('stsongstdlight', 'B', 16);
		//直接输出文字
		$pdf->Write(5,"结果:", '', 0, '', false, 0, false, false, 0);
		//文件名
		$filename=$truename."--".$telephone."pdf";
		//输出pdf
		$pdf->Output("$filename", 'I');
		ob_end_flush(); 
	}
 
 
 
 
 

以上代码用来显示成一个在线预览的pdf文件,可以进行打印和下载操作,非常方便

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值