PHP导出成PDF

准备工作

首先查询了相关的类库,有FPDF,zendPDF,TcPDF等等。首先看了下先选择了FPDF,可以说除了中文字符以外没有什么问题,中文乱码而且看了下最新版本没有很好的解决方案,所以只能放弃。后来就专门找支持中文的发现了TcPDF,开始也是中文字体支持不是很好,但是发现了有人做了中文的语言包才使得TcPDF更加完美起来。

 

简介

TCPDF 是一个流行的用于生成 PDF 文档的 PHP 类。TCPDF是当前唯一完整支持 UTF-8 Unicode 以及从右至左书写的语言包括双向文稿的 PHP 库。

 

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的示例,做法很简单,看代码吧

        vendor('Pdf');
        $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('simfang', '', 10);
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Print a table

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

// 随便写HTML
        $html = 'adsf';

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

// reset pointer to the last page
        $pdf->lastPage();
        $pdf->Output('哈哈哈'.pdf', 'I');

 

以上,可以不断添加addPage,添加多页,最后Output输出自己的名字的文件即可。 
演示图: 

可以看到其中可以插入图片也是没有问题的,写法就按照html写就OK,当然不只是支持HTML,只是这里比较适合这种方式。

以上附资源下载

链接: https://pan.baidu.com/s/1gfjC0yJ 

密码: k8r8

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用第三方库如TCPDF或mPDF来实现在PHP中将网页导出PDF文件。 以下是使用TCPDF实现的示例代码: ```php <?php require_once('tcpdf/tcpdf.php'); // 创建PDF对象 $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); // 设置文档信息 $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor('作者'); $pdf->SetTitle('标题'); $pdf->SetSubject('主题'); $pdf->SetKeywords('关键词'); // 设置页眉和页脚信息 $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING); $pdf->setFooterData(array(0,64,0), array(0,64,128)); // 设置页眉和页脚字体 $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', 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(TRUE, PDF_MARGIN_BOTTOM); // 设置图像比例因子 $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); // 设置字体 $pdf->SetFont('stsongstdlight', '', 14); // 将HTML转换为PDF $pdf->AddPage(); $html = '<h1>Hello, world!</h1><p>This is a sample PDF document created with TCPDF.</p>'; $pdf->writeHTML($html, true, false, true, false, ''); // 输出PDF文件 $pdf->Output('example.pdf', 'D'); ``` 以上代码将在当前目录中生名为"example.pdf"的PDF文件,可以在浏览器中下载。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值