告别mPDF迎来TCPDF和中文打印遇到的问题
mPDF是一个用PHP编写的开源PDF生成库。它最初由Claus Holler创建,于2004年发布。原来用开源软件打印中文没有问题,最近发现新的软件包中mPDF被TCPDF代替了,当然如果只用西文的PDF是没有发现问题,但要打印中文就有点抓瞎了如图1,网上也有相关的帖子,在此也收集了一些,当然针对不同的软件具体的方法不同。
图1,中文都成框框了
php使用TCPDF生成支持中文的pdf
PHP 使用TCPDF插件生成pdf以及pdf的中文处理 2014
vendor/tecnickcom/tcpdf/fonts/
droidsansfallback.ctg.z
droidsansfallback.php
droidsansfallback.z
下载点击这里
vendor/tecnickcom/tcpdf/tcpdf.php
public function setFont($family, $style='', $size=null, $fontfile='', $subset='default', $out=true) {
//Select a font; size given in points
if ($size === null) {
$size = $this->FontSizePt;
}
$family = 'droidsansfallback'; # 加这句问题解决
关于mPDF和TCPDF的介绍
- mPDF是一个用PHP编写的开源PDF生成库。它最初由Claus Holler创建,于2004年发布。mPDF基于FPDF库,但它添加了许多新特性和功能,使其成为一个更强大的PDF生成工具。
mPDF的第一个版本只支持简单的PDF文档生成。然而,随着时间的推移,mPDF添加了许多新特性和功能,使其能够生成更复杂的PDF文档。这些特性和功能包括:
- 支持多种字体,包括TrueType字体和OpenType字体。
- 支持多种图像格式,包括JPEG、PNG和GIF。
- 支持表格、列表和链接。
- 支持页眉和页脚。
- 支持密码保护和数字签名。
mPDF还支持多种输出格式,包括PDF、HTML和图像。这使得它可以用于各种不同的应用程序,包括Web开发、桌面应用程序和移动应用程序。
mPDF是一个非常受欢迎的PDF生成库,它已经被下载了超过100万次。它被许多公司和组织使用,包括谷歌、微软和亚马逊。
mPDF的最新版本是7.0.1,于2022年12月发布。这个版本添加了许多新特性和功能,包括:
- 支持PHP 8.1。
- 支持Web字体。
- 支持CSS3选择器。
- 支持SVG图像。
mPDF是一个非常强大的PDF生成库,它可以用于生成各种不同的PDF文档。它是一个开源库,这意味着它是免费的,并且可以根据需要进行修改。
- TCPDF是一个用PHP编写的开源PDF生成库,最初由Nicola Asuni创建,并于2002年发布。TCPDF的名称代表“TCPDF - PHP Class”,它是一个用于生成PDF文档的PHP类库。TCPDF最初是作为FPDF的扩展而创建的,但随着时间的推移,它发展成了一个独立的项目,添加了许多新特性和功能。
最初的版本只支持简单的PDF文档生成,但随着时间的推移,TCPDF添加了许多新特性和功能,使其能够生成更复杂的PDF文档。这些特性和功能包括:
- 支持多种字体,包括TrueType字体和OpenType字体。
- 支持多种图像格式,包括JPEG、PNG和GIF。
- 支持表格、列表和链接。
- 支持页眉和页脚。
- 支持密码保护和数字签名。
TCPDF还支持多种输出格式,包括PDF、HTML和图像。这使得它可以用于各种不同的应用程序,包括Web开发、桌面应用程序和移动应用程序。
TCPDF是一个非常受欢迎的PDF生成库,它已经被下载了数百万次。它被许多公司和组织使用,包括谷歌、微软和亚马逊。
TCPDF的最新版本是6.4.0,于2023年1月发布。这个版本添加了许多新特性和功能,包括:
- 支持PHP 8.1。
- 支持Web字体。
- 支持CSS3选择器。
- 支持SVG图像。
TCPDF是一个非常强大的PDF生成库,它可以用于生成各种不同的PDF文档。它是一个开源库,这意味着它是免费的,并且可以根据需要进行修改。
最后 mPDF vs TCPDF:
- 性能问题:mPDF在处理大量数据和复杂布局时可能会导致性能下降。
- 功能限制:mPDF在一些高级功能方面例如添加水印、图像处理等相对较弱。TCPDF提供了更丰富的功能和选项,使得满足用户需求更容易。
- 维护和支持:mPDF的开发活动相对较少,更新和修复可能会有延迟。而TCPDF是一个广泛使用和维护的库,有一个活跃的社区,能够提供支持和更新。