告别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.mzph.cn/news/672145.shtml

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

相关文章

为什么深仇大恨可以刻骨铭心?背诵课文有哪些方法?为什么这么难记住?历史上有没有过目不忘的人或好的记忆方案?超级学习方法1刻脑

为什么深仇大恨可以刻骨铭心? 深仇大恨能刻骨铭心主要是因为强烈的情绪体验对人的记忆有着深远的影响。这种现象可以从心理学和神经科学的角度来解释: 心理学视角 情绪加强记忆:情绪激烈的事件比那些情绪中性的事件更容易被记住。这是因为强…

我的PyTorch模型比内存还大,怎么训练呀?

原文:我的PyTorch模型比内存还大,怎么训练呀? - 知乎 看了一篇比较老(21年4月文章)的不大可能训练优化方案,保存起来以后研究一下。 随着深度学习的飞速发展,模型越来越臃肿,哦不&a…

vue element 组件 form深层 :prop 验证失效问题解决

此图源自官网 借鉴。 当我们简单单层验证的时候发现是没有问题的,但是有的时候可能会涉及到深层prop,发现在去绑定的时候就不生效了。例如我们在form单里面循环验证,在去循环数据验证。 就如下图的写法了 :prop"pumplist. i .device…

Redis缓存设计及优化

缓存设计 缓存穿透 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失去了缓存保护后…

Pandas 对带有 Multi-column(多列名称) 的数据排序并写入 Excel 中

Pandas 从Excel 中读取带有 Multi-column的数据 正文 正文 我们使用如下方式写入数据: import pandas as pd import numpy as npdf pd.DataFrame(np.array([[10, 2, 0], [6, 1, 3], [8, 10, 7], [1, 3, 7]]), columns[[Number, Name, Name, ], [col 1, col 2, co…

Spring Cloud Netflix Eureka的参数调优

下面主要分为Client端和Server端两大类进行简述,Eureka的几个核心参数 客户端参数 Client端的核心参数 参数默认值说明eureka.client.availability-zones告知Client有哪些region以及availability-zones,支持配置修改运行时生效eureka.client.filter-o…

数据结构——C/栈和队列

🌈个人主页:慢了半拍 🔥 创作专栏:《史上最强算法分析》 | 《无味生》 |《史上最强C语言讲解》 | 《史上最强C练习解析》 🏆我的格言:一切只是时间问题。 ​ 1.栈 1.1栈的概念及结构 栈:一种特…

WPF是不是垂垂老矣啦?平替它的框架还有哪些

WPF(Windows Presentation Foundation)是微软推出的一种用于创建 Windows 应用程序的用户界面框架。WPF最初是在2006年11月推出的,它是.NET Framework 3.0的一部分,为开发人员提供了一种基于 XAML 的方式来构建丰富的用户界面。 W…

你的代码很丑吗?试试这款高颜值代码字体

Monaspace 是有 GitHub 开源的代码字体,包含 5 种变形字体的等宽代码字体家族,颜值 Up,很难不喜欢。 来看一下这 5 种字体分别是: 1️⃣ Radon 手写风格字体 2️⃣ Krypton 机械风格字体 3️⃣ Xenon 衬线风格字体 4️⃣ Argon…

【高频SQL题目】1731.每位经理的下属员工数量

题目: Table: Employees ----------------------- | Column Name | Type | ----------------------- | employee_id | int | | name | varchar | | reports_to | int | | age | int | ----------------------- employee_id 是…

【C++二维前缀和】黑格覆盖

题目描述 在一张由 M * N 个小正方形格子组成的矩形纸张上,有 k 个格子被涂成了黑色。给你一张由 m * n 个同样小正方形组成的矩形卡片,请问该卡片最多能一次性覆盖多少个黑格子? 输入 输入共 k1 行: 第 1 行为 5 个整数 M、N、…

LeetCode每日一题 | LCP 30. 魔塔游戏

文章目录 题目描述问题分析程序代码 题目描述 原题链接 小扣当前位于魔塔游戏第一层,共有 N 个房间,编号为 0 ~ N-1。每个房间的补血道具/怪物对于血量影响记于数组 nums,其中正数表示道具补血数值,即血量增加对应数值&#xff1b…

C#的Char 结构的IsLetterOrDigit(Char)的方法

目录 一、Char 结构的方法 二、Char.IsLetterOrDigit 方法 1.Char.IsLetterOrDigit(Char)用法 2.IsLetterOrDigit(String, Int32)方法 三、Char.IsLetter 方法 1.IsLetter(Char) 2.IsLetter(String, Int32) 四、Char.IsDigit 方法 1. IsDigit(String, Int32) 2.IsDig…

【ES数据可视化】kibana实现数据大屏

目录 1.概述 2.绘制数据大屏 2.1.准备数据 2.2.绘制大屏 3.嵌入项目中 1.概述 再来重新认识一下kibana: Kibana 是一个用于数据可视化和分析的开源工具,是 Elastic Stack(以前称为 ELK Stack)中的一部分,由 Ela…

推理系统学习笔记

一些学习资料 最近对MLsys比较感兴趣,遂找些资料开始学习一下 https://fazzie-key.cool/2023/02/21/MLsys/https://qiankunli.github.io/2023/12/16/llm_inference.htmlhttps://dlsyscourse.orghttps://github.com/chenzomi12/DeepLearningSystem/tree/main/04Infe…

[python-opencv] PNG 裁切物体

拿到一组图PNG的图,边缘有点太宽了,需要裁切一下,为了这个需求,简单复习一下基本语法。 1. 读取PNG的4个通道 image cv.imread(image_path, cv.IMREAD_UNCHANGED) 附参数说明: IMREAD_UNCHANGED -1 返…

3、生成式 AI 如何帮助您改进数据可视化图表

生成式 AI 如何帮助您改进数据可视化图表 使用生成式 AI 加速和增强数据可视化。 图像来源:DALLE 3 5 个关键要点: 数据可视化图表的基本结构使用 Python Altair 构建数据可视化图表使用 GitHub Copilot 加快图表生成速度使用 ChatGPT 为您的图表生成相关内容使用 DALL-E 将…

[BUUCTF]-PWN:wustctf2020_easyfast解析

又是堆题,查看保护 再看ida 大致就是alloc创建堆块,free释放堆块,fill填充堆块,以及一个getshell的函数,但要满足条件。 值得注意的是free函数没有清空堆块指针 所以可以用double free 有两种解法 解法一&#xff0…

【Linux】打包压缩跨系统/网络传输文件常用指令完结

Hello everybody!在今天的文章中我会把剩下的3-4个常用指令讲完,然后开始权限的讲解。那废话不多说,咱们直接进入正题! 1.zip/unzip&tar命令 1.zip/unzip 在windows系统中,经常见到带有zip后缀的文件。那个东西就是压缩包。…

杭州融资融券利率一般最低是4.5%,两融有哪些核心注意事项?

融资融券利率行情 使用融资融券账户的投资者越来越多,对于准备开两融和想换两融券商的投资者来说,最关心的就是两融利率以及开两融或者换券商的便捷程度了。 目前市场上最低的融资融券利率是4.5%~5%,普遍的两融利率一般在5%-6.5%&#xff0…