public class ITextFontUtil {
/**
* 新建一个字体,iText的方法 STSongStd-Light 是字体,在iTextAsian.jar 中以property为后缀
* UniGB-UCS2-H 是编码,在iTextAsian.jar 中以cmap为后缀 H 代表文字版式是 横版, 相应的 V
* 代表竖版
*/
public static String CHINA_FONT_SONGTI = "STSongStd-Light"; //宋体
public static String CHINA_FONT_KAIU = "C:\\WINDOWS\\Fonts\\kaiu.ttf"; // kaiu字體
public static String ENCODE_GB = "UniGB-UCS2-H"; // 中文编码GB(横版)
/**
* 取得基本字体
* @param font
* @param encode
* @return
*/
public static BaseFont getBaseFont(String font, String encode){
BaseFont bfChinese = null;
try {
bfChinese = BaseFont.createFont(font, encode, false);
} catch (Exception e) {
e.printStackTrace();
}
return bfChinese;
}
/**
*取得具体字体
* @param baseFont 基本字体
* @param fontSize 字体大小 ,如12
* @param fontStyle 字体样式, 如com.lowagie.text.Font.BOLD(粗), Font.ITALIC(斜), Font.BOLDITALIC(粗斜),Font.NORMAL(普通)
* @param color 字体颜色 ,如:java.awt.Color.BLACK ,Color.BLUE
* @return
*/
public static Font getFont(BaseFont baseFont, float fontSize, int fontStyle, Color color){
Font font = new Font(baseFont, fontSize, fontStyle, color);
return font;
}
/**
* 取得中文基本字体(横向)
* @return
*/
public static BaseFont getCnBaseFont(){
return getBaseFont(CHINA_FONT_SONGTI, ENCODE_GB);
}
/**
* 取得正常字体
* @param fontSize 字体大小 ,如12
* @param color 字体颜色 ,如Color.BLACK
* @return
*/
public static Font getCnFont(float fontSize, Color color){
BaseFont bfCn = getCnBaseFont();
Font boldFont = getFont(bfCn, fontSize, Font.NORMAL, color);
return boldFont;
}
/**
* 取得加粗字体
* @param fontSize 字体大小 ,如12
* @param color 字体颜色 ,如Color.BLACK
* @return
*/
public static Font getCnBoldFont(float fontSize, Color color){
BaseFont bfCn = getCnBaseFont();
Font boldFont = getFont(bfCn, fontSize, Font.BOLD, color);
return boldFont;
}
/**
* 取得斜体
* @param fontSize 字体大小 ,如12
* @param color 字体颜色 ,如Color.BLACK
* @return
*/
public static Font getCnItalicFont(float fontSize, Color color){
BaseFont bfCn = getCnBaseFont();
Font boldFont = getFont(bfCn, fontSize, Font.ITALIC, color);
return boldFont;
}
/**
* 取得粗斜体
* @param fontSize 字体大小 ,如12
* @param color 字体颜色 ,如Color.BLACK
* @return
*/
public static Font getCnBoldItalicFont(float fontSize, Color color){
BaseFont bfCn = getCnBaseFont();
Font boldFont = getFont(bfCn, fontSize, Font.BOLDITALIC, color);
return boldFont;
}
/**
* 取得下划线字体
* @param fontSize 字体大小 ,如12
* @param color 字体颜色 ,如Color.BLACK
* @return
*/
public static Font getCnUnderlineFont(float fontSize, Color color){
BaseFont bfCn = getCnBaseFont();
Font boldFont = getFont(bfCn, fontSize, Font.UNDERLINE, color);
return boldFont;
}
}