激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java實現在pdf模板的指定位置插入圖片

java實現在pdf模板的指定位置插入圖片

2021-06-09 13:42yieku Java教程

這篇文章主要為大家詳細介紹了java如何實現在pdf模板的指定位置插入圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

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

?
1
2
3
4
5
6
7
8
9
10
11
<dependency>
  <groupid>com.itextpdf</groupid>
  <artifactid>itextpdf</artifactid>
  <version>5.5.6</version>
</dependency>
<!-- itextpdf的亞洲字體支持 -->
<dependency>
  <groupid>com.itextpdf</groupid>
  <artifactid>itext-asian</artifactid>
  <version>5.2.0</version>
</dependency>

思路:

  • adobe的acrobat可以對pdf進行編輯,在文檔中插入域,這個插入的域就是圖片的位置。這兒有關于域的介紹,但是這不重要,我們只是把域作為一個占位符用;
  • 利用itextpdf得到目標域所在的頁面、位置、大小;
  • 利用域的坐標,把圖片以絕對位置的方式插入到pdf中。

代碼

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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();
  }

參考

how to show an image at a text field position?

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

原文鏈接:https://blog.csdn.net/SOME___ONE/article/details/52562740?utm_source=blogxgwz1

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成码无人av片在线观看网站 | 国产www免费 | 成人黄色免费 | 27xxoo无遮挡动态视频 | 精品一区二区免费视频视频 | 成av在线 | 久草在线观看福利 | 被摁着灌浓精囚禁高h1v1 | 99精品视频免费看 | 羞羞视频免费视频欧美 | 亚洲小视频在线 | 精品国产乱码久久久久久丨区2区 | 国产精品亚洲一区二区三区在线观看 | 久久成人午夜视频 | 黄色伊人网站 | 欧美日本日韩 | 666sao| 中文字幕在线观看1 | 精品中文字幕久久久久四十五十骆 | 99国内精品视频 | 欧美性色生活片免费播放 | 模特三级在线观看 | 一区二区三区在线观看免费 | 日本在线不卡免费 | 国产在线观看一区二区三区 | freexxxx性女hd性吃奶 | 成年人视频免费看 | 久久精品亚洲一区二区 | 中文字幕在线免费看 | 素人视频在线观看免费 | 香蕉成人在线观看 | 亚洲精品久久久久久下一站 | 1级片在线观看 | 亚洲九九色 | 性色av免费在线观看 | 国产精品69久久 | www.成人免费 | 粉嫩蜜桃麻豆免费大片 | 亚洲综合网站 | 久久91精品国产91久久yfo | 一级黄色性感片 |