字體處理
注意:(seguisym.ttf" ,"simsun.ttc","simfang.ttf","simhei.ttf 字體需要在網上下載,本人沒有嘗試)
html內容字體設置,可以處理中文亂碼,內容重疊,字體大小,字體顏色等
package com.hundsun.cooas.manage.sec.util; import com.itextpdf.text.BaseColor; import com.itextpdf.text.Font; import com.itextpdf.tool.xml.XMLWorkerFontProvider; import java.io.File; import java.util.Set; public class PdfFont extends XMLWorkerFontProvider { //新增PDF字體:特殊字符、宋體、仿宋、黑體 public String[] fonts = { "seguisym.ttf" ,"simsun.ttc","simfang.ttf","simhei.ttf"}; public PdfFont() { super(XMLWorkerFontProvider.DONTLOOKFORFONTS); //獲取資源文件字體 String path = EnvironmentUtils.getWebClassPath()+"fonts"+ File.separator; // 注冊字體 for (String font : fonts) { this.register(path+font); } } @Override public Font getFont(String fontname, String encoding, boolean embedded, float size, int style, BaseColor color) { //Set<String> fonts2 = this.getRegisteredFonts(); //獲取注冊字體 String font = fontname; if(font==null){ font = "宋體"; } if ("".equals(font)) { font = "segoe ui symbol";// 特殊字符 } if(size<=0){ size=10.5f; } return super.getFont(font, encoding, embedded, size, style, color); } } |
原文鏈接:https://blog.csdn.net/jianjun2114/article/details/80239138