关于 FPDF、HTML2PDF里的中文、日文、韩文等双字节字符换行问题
最近使用 FPDF、HTML2PDF导出中文PDF,发现表格里的数据不会自动换行,格式乱了,看了一下手册,有个 functionCell()可以设置换行,但是设置了半天也没反应!
最后搞了一个笨办法完美解决:
此办法就是:估计单元格大概宽度,截断字符串,然后插入<br>,FPDF认识br换行,呵呵
写了一个简单的小函数,方便使用
function pdfStrCut($str='',$rowLen=0) {
$linelen = $rowLen;
$num=ceil(mb_strlen($str)/$linelen);
$add= array();
for($j=0;$j<$num;$j++){
$add[$j]=mb_substr($str,($j*$num),$linelen,"shift_jis");
}
$tempStr = implode("<br>", $add);
return $tempStr;
}
使用方法: pdfStrCut('关于 FPDF、HTML2PDF里的中文、日文、韩文等双字节字符换行问题',10);
每行显示10个字
注意mb_substr函数后边的编码,改成你自己的程序的编码
关于 FPDF、HTML2PDF里的中文、日文、韩文等双字节字符换行问题的更多相关文章
- Android中判断字符是否为中文、韩文、日文
我们经常需要在程序中判断一个字符是否为CJK(Chinese.Japanese.Korean)语言的字符. 例如,在Contacts里面程序需要判断联系人姓名的所属语言. 今天为大家介绍一种NameS ...
- CPLEX IDE 菜单栏语言设置( 中文 英文 韩文 等多国语言 设置)
http://www-01.ibm.com/support/docview.wss?uid=swg21573032 Technote (FAQ) Question How to change the ...
- sql server 韩文查询匹配失败
在SQL Server 中查询韩文信息时,没有匹配到对应的信息,检查程序后发现字段类型是nvarchar类型的没有问题, 打开存储过程后找到问题了:原来是拼接后的查询语句存储在一个varchar变量中 ...
- 让 sphinx 支持中文、日文和韩文
在国内搜索 sphinx 的话找到的资源好像都是挺久远的,无奈之下只好跑到国外去找了.听起来有点不可思议,但是最近整 sphinx 的时候突然想到 mediawiki 官方有 sphinx 的安装介绍 ...
- cmd输出的日志里有中文乱码的解决办法
在命令行使用adb logcat命令直接输出日志中文内容显示乱码,原因是中文系统中cmd命令行窗口默认的编码是GBK,而LogCat打印的日志是UTF-8编码,所以adb logcat命令输出的中文内 ...
- 妙方之解决matplotlib的图例里的中文呈现小方形
妙方之解决matplotlib的图例里的中文呈现小方形 分析思路: 每个中文都对应地呈现一个小方形, 不多也不少. 不能说是乱码. 应该是matplotlib的默认字库不支持中文造成的. 应对办法: ...
- Kali linux 2016.2(Rolling)里安装中文输入法
写在前面的话 关于中文输入法,实在是有太多了.当然,你也不可以不安装,(安装了增强工具即可),在windows 里输入中文,复制进去即可. 但是呢,想成为高手,还是要学会安装和使用各版本的中文输入法. ...
- word中怎样把文档里的中文以及中文字符全选?
word中怎样把文档里的中文以及中文字符全选? 参考: 百度 案例: 有个文档是中英文混杂的 现在需要把中文以及中文字符全部设置成别的颜色 应该怎样操作? 有80多页 别说让我一个一个的设置 以wor ...
- Mysql插入数据里有中文字符出现Incorrect string value的错误
问题:Mysql插入数据里有中文字符出现Incorrect string value的错误 描述:CMD里直接敲代码插入数据 提示的部分截取为:ERROR 1366 (HY000): Inco ...
随机推荐
- 【原创】7. MYSQL++中的查询结果获取(各种Result类型)
在本节中,我将首先介绍MYSQL++中的查询的几个简单例子用法,然后看一下mysqlpp::Query中的几个与查询相关的方法原型(重点关注返回值),最后对几个关键类型进行解释. 1. MYSQL++ ...
- EF中的批量操作
阅读目录 插入 更新 删除 在使用EF的过程中,我们经常会遇到需要批量操作数据的场景,批量操作有的时候不仅能提高性能,比如使用SqlBulkCopy进入批量插入的时候,而且比较方便操作,提高效率.那么 ...
- Shiro的 rememberMe 功能使用指导(为什么rememberMe设置了没作用?)
UsernamePasswordToken token = new UsernamePasswordToken(loginForm.getUsername(),loginForm.getPasswor ...
- mongo状态查看方法
列举一些常用的mongodb状态查看方法. 1.mongostat 是mongdb自带的状态检测工具, inserts/s 每秒插入次数 query/s 每秒查询次数 update/s 每秒更新次数 ...
- 面试题--CVTE
2.HashMap和HashSet的实现原理,hashset 和hashMap区别 HashSet底层就是HashMap实现的, *HashMap* *HashSet* HashMap实现了Map接口 ...
- Hyperledger Fabric Orderer节点启动
Orderer 节点启动通过 orderer 包下的 main() 方法实现,会进一步调用到 orderer/common/server 包中的 Main() 方法. 核心代码如下所示. // Mai ...
- while 循环和do while循环
while循环是先检测条件符合不符合,符合才执行循环体内容,不符合就跳过while循环. 就和一个房间有两个门,一个前门,一个后门,while循环是当你进入前门的时候有人会检查你的身份,只有身份符合条 ...
- launchpad, jira, github
一.简介 http://segmentfault.com/q/1010000000165115
- Learning from Imbalanced Classes
https://www.svds.com/learning-imbalanced-classes/ 下采样即 从大类负类中随机取一部分,跟正类(小类)个数相同,优点就是降低了内存大小,速度快! htt ...
- Luogu 4251 [SCOI2015]小凸玩矩阵
BZOJ 4443 二分答案 + 二分图匹配 外层二分一个最小值,然后检验是否能选出$n - k + 1$个不小于当前二分出的$mid$的数.对于每一个$a_{i, j} \geq mid$,从$i$ ...