• 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);

     

    以下是使用TCPDF的示例,做法很简单,看代码吧

     1   vendor('Pdf');
     2         $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
     3 
     4         $pdf->SetCreator(PDF_CREATOR);
     5         $pdf->SetAuthor('sunnier');
     6         $pdf->SetTitle('123');
     7         $pdf->SetSubject('123');
     8         $pdf->SetKeywords('sunnier');
     9 
    10 // set default header data
    11         $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
    12 
    13 // set header and footer fonts
    14         $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
    15         $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
    16 
    17 // set default monospaced font
    18         $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
    19 
    20 // set margins
    21         $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
    22         $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
    23         $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
    24 
    25 // set auto page breaks
    26         $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
    27 
    28 // set image scale factor
    29         $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
    30 
    31 // set some language-dependent strings (optional)
    32         global $l;
    33         $pdf->setLanguageArray($l);
    34 
    35 // ---------------------------------------------------------
    36 
    37 // set font
    38         $pdf->SetFont('simfang', '', 10);
    39 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    40 // Print a table
    41 
    42 // add a page
    43         $pdf->AddPage();
    44 
    45 // 随便写HTML
    46         $html = 'adsf';
    47 
    48 // output the HTML content
    49         $pdf->writeHTML($html, true, false, true, false, '');
    50 
    51 // reset pointer to the last page
    52         $pdf->lastPage();
    53         $pdf->Output('哈哈哈'.pdf', 'I');
    54  

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

     

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

  • 相关阅读:
    抽象工厂模式(Abstract Factory)
    工厂模式(Factory Method Pattern)
    简单工厂模式(Simple Factory Pattern)
    UML类图
    .Net之美读书笔记10(网络编程一)
    .Net之美读书笔记16
    tensorflow:验证码的识别(下)
    OpenCV-Python入门教程6-Otsu阈值法
    OpenCV-Python入门教程5-阈值分割
    OpenCV-Python入门教程4-颜色空间转换
  • 原文地址:https://www.cnblogs.com/a609251438/p/11865857.html
Copyright © 2020-2023  润新知