告别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 pointsif ($size === null) {$size = $this->FontSizePt;}$family = 'droidsansfallback';  # 加这句问题解决

关于mPDF和TCPDF的介绍

  1. 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文档。它是一个开源库,这意味着它是免费的,并且可以根据需要进行修改。

  1. 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文档。它是一个开源库,这意味着它是免费的,并且可以根据需要进行修改。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/457570.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Web Body 转化常见错误

在 Spring 中,对于 Body 的处理很多是借助第三方编解码器来完成的。例如常见的 JSON 解析,Spring 都是借助于 Jackson、Gson 等常见工具来完成。所以在 Body 处理中,我们遇到的很多错误都是第三方工具使用中的一些问题。 真正对于 Spring 而…

seatunnel数据集成(三)多表同步

seatunnel数据集成(一)简介与安装seatunnel数据集成(二)数据同步seatunnel数据集成(三)多表同步seatunnel数据集成(四)连接器使用 seatunnel除了单表之间的数据同步之外,…

SpringBoot配置文总结

官网配置手册 官网:https://spring.io/ 选择SpringBoot 选择LEARN 选择 Application Properties 配置MySQL数据库连接 针对Maven而言,会搜索出两个MySQL的连接驱动。 com.mysql mysql-connector-j 比较新,是在mysql mysql-connect…

vue3:24—组件通信方式

1、props 子组件也可以如下调用父组件的方法 2、自定义事件 (emit) 3、mitt(任意组件的通讯) 1. pubsub 2. $bus 3. mitt 接收数据的:提前绑定好事件(提前订阅消息)提供数据的:在合适的时候触发事件发布消息) 安装mitt npm i…

机试复习-3

前言:前面耽误太多时间,2月份是代码月,一定抓紧赶上,每天至少两道题 day1 2024.2.6 1.排序开启: 1.机试考试:排序应用考察 c的qsort c的sort 作用:对数组,vector排序&#…

项目经理怎么处理客户提出的不合理请求?

一、客户不合理请求的定义和特点 客户不合理请求是指客户在项目执行过程中提出的与项目需求、合同约定或者实际情况不符的要求,通常表现为追加要求、频繁的变更、过度的要求等。这些请求可能会导致项目范围膨胀、成本增加、工期延长、甚至影响项目进度和质量。客户…

前端基础复习(后端人员看前端知识)

企业级前端项目开发中,需要将前端开发所需要的工具、技术、流程、经验进行规范化和标准化,而不是零散的html、js、css文件堆叠在一起。 首先我们需配置前端的开发基础环境NodeJS,相当于后端人员java开发的JDK。然后搭建前端工程脚手架Vue-cl…

Golang GC 介绍

文章目录 0.前言1.发展史2.并发三色标记清除和混合写屏障2.1 三色标记2.2 并发标记问题2.3 屏障机制Dijkstra 插入写屏障Yuasa 删除写屏障混合写屏障 3.GC 过程4.GC 触发时机5.哪里记录了对象的三色状态?6.如何观察 GC?方式1:GODEBUGgctrace1…

LLaMA 模型中的Transformer架构变化

目录 1. 前置层归一化(Pre-normalization) 2. RMSNorm 归一化函数 3. SwiGLU 激活函数 4. 旋转位置嵌入(RoPE) 5. 注意力机制优化 6. Group Query Attention 7. 模型规模和训练超参数 8. 分布式模型训练 前置归一化与后置…

Linux的打包压缩与解压缩---tar、xz、zip、unzip

最近突然用到了许久不用的压缩解压缩命令,真的陌生, 哈哈,记录一下,后续就不用搜索了。 tar的打包 tar -cvf 压缩有的文件名称 需要压缩的文件或文件夹tar -cvf virtualbox.tar virtualbox/ tar -zcvf virtualbox.tar virtualbo…

【SpringBoot】application配置(5)

type-aliases-package: com.rabbiter.cm.domaintype-aliases-package: 这个配置用于指定mybatis的别名,别名是一个简化的方式,让你在Mapper xml 文件中引用java类型,而不需要使用使用完整的类名。例如,如果你在 com.rabbiter.cm.d…

MybatisPlus快速入门及常见设置

目录 一、快速入门 1.1 准备数据 1.2 创建SpringBoot工程 1.3 使用MP 1.4 获取Mapper进行测试 二、常用设置 2.1 设置表映射规则 2.1.1 单独设置 2.1.2 全局设置 2.2 设置主键生成策略 2.2.1 为什么会有雪花算法? 2.2.2 垂直分表 2.2.3 水平分表 2.…