tp5導出生成pdf


准備工作:

首先查詢了相關的類庫,有FPDF,zendPDF,TcPDF等等。首先看了下先選擇了FPDF,可以說除了中文字符以外沒有什么問題,中文亂碼而且看了下最新版本沒有很好的解決方案,所以只能放棄。后來就專門找支持中文的發現了TcPDF,開始也是中文字體支持不是很好,但是發現了有人做了中文的語言包才使得TcPDF更加完美起來。

簡介:

TCPDF 是一個流行的用於生成 PDF 文檔的 PHP 類。TCPDF是當前唯一完整支持 UTF-8 Unicode 以及從右至左書寫的語言包括雙向文稿的 PHP 庫。

下載TCPDF然后放到vendor目錄下面

TCPDF說明文檔

一、首先調用TCPDF文件

require_once('tcpdf.php');

二、實例化TCPDF類 頁面方向(P =肖像,L =景觀)、測量(mm)、頁面格式

 $pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false); 

更多文檔信息你可以查看此鏈接:

https://www.cnblogs.com/520fyl/p/5396374.html

//使用TCPDF的示例

Getpdf.php

<?php
namespace app\index\controller;
use think\Controller;
vendor('Pdf');
class Getpdf extends Controller
{
public function index()
{
$pdf = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('sunnier');
$pdf->SetTitle('123');
$pdf->SetSubject('123');
$pdf->SetKeywords('sunnier');

// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);

// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', 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)
global $l;
$pdf->setLanguageArray($l);

// ---------------------------------------------------------

// set font
//$pdf->SetFont('', '', 10);
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Print a table

// add a page
$pdf->AddPage();

// 隨便寫HTML
$html = '<div>dd<img src="https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=3300305952,1328708913&fm=27&gp=0.jpg" /></div>';

// output the HTML content
$pdf->writeHTML($html, true, false, true, false, '');

// reset pointer to the last page
$pdf->lastPage();
ob_end_clean();

$pdf->Output();

}
}

//只要前端把HTML代碼傳遞過來,就能生成PDF文檔
注意:在輸出之前清空 ob_end_clean()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM