java相关,关于使用itext导出pdf后,中文字体设置的问题。
发布网友
发布时间:2022-04-27 13:14
我来回答
共3个回答
热心网友
时间:2023-09-22 14:17
可以直接调用字体 写一个
BaseFont bf=BaseFont.createFont("字体",BaseFont.CP1250, BaseFont.EMBEDDED);
字体就设置,你的那个字体路径追问BaseFont ttChinese=BaseFont.createFont("C:\\Windows\\Fonts\\微软雅黑",BaseFont.CP1250, BaseFont.EMBEDDED);
我写完这个后,系统报一个错误:com.lowagie.text.DocumentException: Font 'C:\Windows\Fonts\微软雅黑' with 'Cp1250' is not recognized.
是Cp1250不支持微软雅黑的意思么?
追答抱歉 一个地方说错了
BaseFont ttChinese=BaseFont.createFont("F://MSYHBD.TTF",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font f=new Font(ttChinese);
Paragraph p = new Paragraph();
p.setFont(f);
p.add("你 好 David!");
字体要找对应的字体文件,BaseFont.IDENTITY_H 这个东西我忘了是什么了?好像只有这种编码方式,这样才能支持。BaseFont.EMBEDDED 表示字体是否嵌入PDF
热心网友
时间:2023-09-22 14:17
这个我以前遇到过,看看对你有没有帮助
1.将字符编码文件复制到系统字符集下面一份(好像是ttf)结尾的吧,因为有的系统有可能不带该字符集
2.将字符集放到java程序运行的根目录下,比如如果是webapp,那就放在WEB-INF/classes下
3.编辑模板文件的时候选择的字符好像是U什么开头的,我给忘了(反正不是特殊的),或者需要把字体导入到编辑器里(有这个选项),具体记不清楚了。追问请问这个编辑模版文件在哪里?是不是应该我自己创建的properties?
以下是STSong-Light.properties的内容,应该咋修改啊。
Flags=6
FontBBox=[-25 -254 1000 880]
ItalicAngle=0
Ascent=880
Descent=-120
CapHeight=880
StemV=93
Panose=\u0001\......
Registry=Adobe
Ordering=GB1
Supplement=4
W=1 207 2 270 ......
W2=
另外能不能详细说说导入编辑器这个操作?
追答能不能把你的问题这样描述一下?
1.功能描述
2.实现过程
3.存在的问题
这样的话才好解决
热心网友
时间:2023-09-22 14:18
BaseFont bf=BaseFont.createFont("字体",BaseFont.CP1250, BaseFont.NOT_EMBEDDED);BaseFont.EMBEDDED处应写成BaseFont.NOT_EMBEDDED。