1. 程式人生 > >java 操作pdf 不能顯示itext生成的PDF檔案文字域內容問題

java 操作pdf 不能顯示itext生成的PDF檔案文字域內容問題

 問題:java 操作pdf  填入資料後,生成新pdf無法顯示中文。

.........

try {
    PdfReader reader = new PdfReader(path);//讀模板檔案
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(tempPath));//複製模板檔案
    AcroFields s = stamper.getAcroFields();//獲取所有域名
// 設定中文顯示
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);

    for (String key : map.keySet()) {
        String value = (String) map.get(key);
        s.setFieldProperty(key,"textfont",bfChinese,null);
        s.setField(key, value); // 為欄位賦值,注意欄位名稱是區分大小寫的
    }
    stamper.setFormFlattening(true);
    reader.close();
    stamper.close();
} catch (IOException e) {
    logger.info(e.getMessage());
    e.printStackTrace();
} catch (DocumentException e) {
    logger.info(e.getMessage());
    e.printStackTrace();
}

RF: https://www.cnblogs.com/wangsongwang/p/7144558.html