目录
参考资料: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(&