PHP生成PDF-TCPDF

这篇博客介绍了如何使用PHP的TCPDF库来生成PDF文件,详细讲解了TCPDF的基本功能,包括UTF-8支持、多种字体类型、XHTML+CSS、图像和条码处理等,并提供了代码示例来展示其实现过程。
摘要由CSDN通过智能技术生成

目录

参考资料:TCPDF

控件说明

效果图

 实现代码


参考资料:TCPDF

控件功能说明

  • 基本功能不需要外部库;
  • 所有标准页面格式、自定义页面格式、自定义边距和计量单位;
  • UTF-8 Unicode 和从右到左的语言;
  • TrueTypeUnicode、OpenTypeUnicode、TrueType、OpenType、Type1 和 CID-0 字体;
  • 字体子集;
  • 发布一些 XHTML + CSS 代码、Javascript 和表单的方法;
  • 图像、图形(几何图形)和转换方法;
  • 原生支持 JPEG、PNG 和 SVG 图像,GD 支持的所有图像(GD、GD2、GD2PART、GIF、JPEG、PNG、BMP、XBM、XPM)和 ImagMagick 支持的所有图像(http:www.imagemagick.org/www/格式.html)
  • 一维和二维条码:CODE 39、ANSI MH10.8M-1983、USD-3、3 of 9、CODE 93、USS-93、Standard 2 of 5、Interleaved 2 of 5、CODE 128 A/B/C、2 和5 位基于 UPC 的扩展、EAN 8、EAN 13、UPC-A、UPC-E、MSI、POSTNET、PLANET、RMS4CC(Royal Mail 4-state Customer Code)、CBC(Customer Bar Code)、KIX(Klant index -客户索引)、智能邮件条码、Onecode、USPS-B-3200、CODABAR、CODE 11、PHARMACODE、PHARMACODE TWO-TRACKS、Datamatrix ECC200、QR-Code、PDF417;
  • ICC 颜色配置文件、灰度、RGB、CMYK、专色和透明胶片;
  • 自动页眉页脚管理;
  • 高达 256 位的文档加密和数字签名认证;
  • UNDO 命令的事务;
  • PDF 注释,包括链接、文本和文件附件;
  • 文本渲染模式(填充、描边和剪裁);
  • 多列模式;
  • 无写页面区域;
  • 书签和目录;
  • 文本连字符;
  • 文本拉伸和间距(跟踪/字距调整);
  • 自动分页、换行和文本对齐,包括对齐;
  • 自动页码和页组;
  • 移动和删除页面;
  • 页面压缩(需要 php-zlib 扩展);
  • XOBject 模板;
  • PDF/A-1b (ISO 19005-1:2005) 支持。

效果图

 实现代码

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/8/30
 * Time: 14:10
 */
namespace app\nim\controller;
class Pdf
{

    /*
  * 生成pdf
  * @param 	string 	$html 			内容
  * @param 	string 	$title 		    标题
  * @param 	string 	$fileName 		生成的文件名称
  * @param 	string 	$synthesis 		要合成的图片路径
  * @param 	number 	$x 				x轴
  * @param 	number 	$y 				Y轴
  * @param 	number 	$m 				图片宽度
  * @param   number  $h              图片高度
  * @param	number  $setPage		图片放置在第几页
  * @param 	array 	$info 	        
  * @param 	number 	$pdf_type 	    新的PDF存储路径标识 2019/10/23
  * @return 	合成正确返回PDF路径  合成失败返回为false
  */
    public function pdfRender_D($html, $title = '', $fileName, $synthesis = [], $info)
    {
        //新增路径标识

        $path = '/static/uploads/preview/' . date('Ym') . '/';//文件存放路径

        $directory=ROOT_PATH.'public';//根目录
        $is_path       = $directory. $path;//全路径
        //检测并创建文件夹
        if ($this->exists_dir($is_path) === false) {
            return false;
        }
        // GetX获取x轴坐标  GetY获取y轴坐标
        $pdf = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);//A4  PDF_PAGE_FORMAT
        //设置件信息
        $pdf->SetCreator(PDF_CREATOR);
        $pdf->SetAuthor(str_replace("http://", "", $_SERVER['HTTP_HOST']));
        $pdf->SetTitle($title);
        $pdf->SetSubject($title);
        $pdf->SetKeywords('TCPDF, PDF, example, test, guide,PHP');

        // 设置间距
        $pdf->setPrintHeader(false);
        $pdf->setPrintFooter(false);

        //设置默认等宽字体
        $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
        //设置间距   左侧、上侧、右侧的间距
        $pdf->SetMargins(PDF_MARGIN_LEFT, 11, PDF_MARGIN_RIGHT);//PDF_MARGIN_TOP
        //$pdf->SetFooterMargin(0);
        $pdf->setCellPaddings(0, 0, 0, 0);

        $pdf->SetLineStyle(array(&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值