前段时间公司的商城要求的生成报价单功能终于排上日程了,这可让我们感觉有点郁闷。因为在印象中这种玩意大多数是java写的,可是我们的开发团队只有PHP开发工程师。那么势必要找到一个比较稳妥的解决方案。经过一段时间的查阅有同事找到了TCPDF,所以就用TCPDF来了。

TCPDF的主要特点

直接翻译至TCPDF官网原文传送门,因个人理解不同所以没有照搬原文。

  • 基本功能不需要引入外部库。
  • 支持标准的页面格式、自定义页面格式以及计量单位。
  • UTF-8编码,按照从左到右的顺序
  • 支持TrueTypeUnicode, OpenTypeUnicode, TrueType, OpenType, Type1 and CID-0 fonts;字体
  • 以及字体子集。
  • 支持html+css的排版方法,以及JavaScript以及表格。
  • 支持几何图像的图形绘制、变换。
  • 支持常见格式JPEG、PNG 和 SVG 图像,以及通过GD和ImagMagick支持所有图像。
  • 支持打印常见的一维码和二维码(具体格式标准可以查看官网)
  • 支持 灰度图像,三原色光模式,印刷四分色模式,专色和透明;
  • 支持设置页眉页脚
  • 支持数字签名
  • 支持UNDO撤销操作
  • 支持添加以下形式的注释:链接、 文本、文件的附件
  • 支持所有文本渲染方式 (fill, stroke and clipping);
  • 支持文本多列显示
  • 支持页面背景
  • 支持设置书签和目录;
  • 支持自定义断字
  • 支持自定义设置字间距行间距
  • 支持自动分页
  • 支持自动页码
  • 支持指定页面删除移动
  • 支持页面压缩(需要phpzlib扩展);
  • 支持水印模板
  • 支持PDF/A-1b (ISO 19005-1: 2005)

具体的实现方式大家可以观看官方的代码示例:传送门