java使⽤itext编辑pdf ⼀、创建pdf模板
使⽤PDFelement制作pdf模板(数据域的名称对应后⾯插⼊的key)
⼆、导⼊maven依赖
<dependency>
追梦青春<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
男生微信名字霸气三、插⼊数据和图⽚到pdf模板
1 Map<String, Object> data;//要插⼊的数据
2//初始化itext
3//设置编码
4 BaFont baFont = ateFont("STSong-Light", "UniGB-UCS2-H",BaFont.NOT_EMBEDDED);
5 PdfReader pdfReader=new PdfReader(“pdf模板⽂件路径”);
会不相从许
6 PdfStamper pdfStamper=new PdfStamper(pdfReader, new FileOutputStream(“输出pdf⽂件路径”));
7 AcroFields form = AcroFields();
8 form.addSubstitutionFont(baFont);
9
10//写⼊数据
11for(String key:data.keySet()){
12 String (key).toString();
13//key对应模板数据域的名称
14 form.tField(key,value);
15 }
怎样煮鸡蛋16
17//添加图⽚
18int pageNo = FieldPositions("img").get(0).page;
19 Rectangle signRect = FieldPositions("img").get(0).position;
20float x = Left();
21float y = Bottom();
22 Image image = Instance("图⽚路径");
23 PdfContentByte under = OverContent(pageNo);
24//设置图⽚⼤⼩
25 image.Width(), Height());
26//设置图⽚位置
27 image.tAbsolutePosition(x, y);
28 under.addImage(image);
29
30//设置不可编辑
31 pdfStamper.tFormFlattening(true);
32 pdfStamper.clo();
PS:合并多个pdf成⼀个
1//先删除之前的all.pdf
2 String filePath="all.pdf";胫
3 File file=new File(filePath);
4 file.delete();
5//要合并的所有pdf的路径
6 List<String> fileList;
7//all.pdf保存路径
8 String savepath="all.pdf";
9 Document document = null;
10try {
11 document = new Document(new (0)).getPageSize(1));
12 PdfCopy copy = new PdfCopy(document, new FileOutputStream(savepath));
13 document.open();
14for (int i = 0; i < fileList.size(); i++) {
透骨草治脱发
15 PdfReader reader = new (i));
16int n = NumberOfPages();// 获得总页码
瘦脸针是什么
17for (int j = 1; j <= n; j++) {
18 wPage();
19 PdfImportedPage page = ImportedPage(reader, j);// 从当前Pdf,获取第j页
20 copy.addPage(page);
21 }责任在肩
22 }
23 } catch (IOException e) {
24 e.printStackTrace();
25 } catch (DocumentException e) {
26 e.printStackTrace();
27 } finally {
28if (document != null) {
29 document.clo();
30 }
31 }