LWM
package demo;

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.AcroFields;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;

public class updatePdf {
    public static void main(String[] args) {
        Map<String, Object> data = new HashMap<String, Object>();// 要插入的数据
//amuout是设置准备表单的名
     data.put("amount", "测试"); // 初始化itext // 设置编码 BaseFont baseFont; try { // baseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); String path = "C:/Windows/Fonts/simfang.ttf";//windows里的字体资源路径 baseFont=BaseFont.createFont(path, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); // 获取pdf模板 PdfReader pdfReader = new PdfReader("E:\\demoooo.pdf"); // new FileOutputStream("E:\\demo1.pdf")新的pdf PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileOutputStream("E:\\demo1.pdf")); AcroFields form = pdfStamper.getAcroFields(); form.addSubstitutionFont(baseFont); // 写入数据 for (String key : data.keySet()) { String value = data.get(key).toString(); // key对应模板数据域的名称 form.setField(key, value, true); } // 设置不可编辑 pdfStamper.setFormFlattening(true); pdfStamper.close(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

(6条消息) itextpdf在PDF指定位置添加文本_无法无天过路客的博客-CSDN博客_给固定格式的pdf文件动态添加文本

 

想修改字体方案:再用adobepdf设置准备表单时,可以修改字体大小...

 

所用依赖:

    <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.5.11</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-asian</artifactId>
            <version>5.2.0</version>
        </dependency>

 

posted on 2023-02-02 17:55  Lwmm  阅读(677)  评论(0编辑  收藏  举报