日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java pdf添加图片_java实现在pdf模板的指定位置插入图片

發布時間:2025/3/21 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java pdf添加图片_java实现在pdf模板的指定位置插入图片 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例為大家分享了java在pdf模板的指定位置插入圖片的具體代碼,供大家參考,具體內容如下

java操作pdf有個非常好用的庫itextpdf,maven:

com.itextpdf

itextpdf

5.5.6

com.itextpdf

itext-asian

5.2.0

思路:

Adobe的Acrobat可以對pdf進行編輯,在文檔中插入域,這個插入的域就是圖片的位置。這兒有關于域的介紹,但是這不重要,我們只是把域作為一個占位符用;

利用itextpdf得到目標域所在的頁面、位置、大小;

利用域的坐標,把圖片以絕對位置的方式插入到pdf中。

代碼

public static void main(String[] args) throws Exception {

// 模板文件路徑

String templatePath = "template.pdf";

// 生成的文件路徑

String targetPath = "target.pdf";

// 書簽名

String fieldName = "field";

// 圖片路徑

String imagePath = "image.jpg";

// 讀取模板文件

InputStream input = new FileInputStream(new File(templatePath));

PdfReader reader = new PdfReader(input);

PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(targetPath));

// 提取pdf中的表單

AcroFields form = stamper.getAcroFields();

form.addSubstitutionFont(BaseFont.createFont("STSong-Light","UniGB-UCS2-H", BaseFont.NOT_EMBEDDED));

// 通過域名獲取所在頁和坐標,左下角為起點

int pageNo = form.getFieldPositions(fieldName).get(0).page;

Rectangle signRect = form.getFieldPositions(fieldName).get(0).position;

float x = signRect.getLeft();

float y = signRect.getBottom();

// 讀圖片

Image image = Image.getInstance(imagePath);

// 獲取操作的頁面

PdfContentByte under = stamper.getOverContent(pageNo);

// 根據域的大小縮放圖片

image.scaleToFit(signRect.getWidth(), signRect.getHeight());

// 添加圖片

image.setAbsolutePosition(x, y);

under.addImage(image);

stamper.close();

reader.close();

}

參考

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

總結

以上是生活随笔為你收集整理的java pdf添加图片_java实现在pdf模板的指定位置插入图片的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。