itextpdf FormField 生成pdf修改字體大小


使用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 設計感覺不是很好)

 

 

參考資料

https://github.com/rongfengliang/itextpdf-image-learning/blob/master/src/main/java/com/dalong/Application.java#L53


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM