Java为pdf电子签章(关键字盖章)
1、pom依赖
com.itextpdf
itextpdf
5.5.11
com.itextpdf
itext7-cindex.php/tags-1038.html" class="superseo">ore
7.2.0
2、关键字信息查找
package com.example.study.demo.pdfSign;
import cn.hutool.core.collection.CollectionUtil;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.canvas.parser.PdfCanvasProcessor;
import com.itextpdf.kernel.pdf.canvas.parser.listener.IPdfTextLocation;
import com.itextpdf.kernel.pdf.canvas.parser.listener.RegexBasedLocationExtractionStrategy;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class FindKey {
/**
* 获取关键字位置信息map
* key为页数,value为当页关键字信息集合
*/
public static Map keyWordLocationMap(String input, String keyword) {
Map listMap;
try(PdfReader reader = new PdfReader(input);PdfDocument pdfDocument = new PdfDocument(reader)) {
int pageNumbers = pdfDocument.getNumberOfPages();
listMap = new HashMap(pageNumbers);
for (int i = 1; i