使用itextpdf FormField 生成pdf 的時候我們很多時候都需要指定字體的大小,以下是一個簡單的說明
注意:使用的測試版本為 5.5.3
修改字體的方法
- 參考代碼
public static void fillData(AcroFields fields, Map<String, String> data) {
try {
for (String key : data.keySet()) {
String value = data.get(key);
fields.setFieldProperty(key,"textsize",14f,null);
fields.setField(key, value);
}
} catch (Exception e) {
e.printStackTrace();
}
}
一個問題
因為setFieldProperty包含了連個重載的方法,參考簽名信息如下:
public boolean setFieldProperty(String field, String name, Object value, int inst[])
public boolean setFieldProperty(String field, String name, int value, int inst[])
對於修改字體大小的我們需要使用一個float的類型,但是很多是否大家可能傳遞一個整數,那么肯定是沒有效果的,合理的是進行類型
轉換或者試<number>f
指定類型為float,這樣參數設置才可以生效,仔細查看源碼也能找到原因(api 設計感覺不是很好)