很多时候,在项目中需要打单子,生成pdf格式,还需要盖章。
这个时候,就需要对pdf文件进行再次处理。
处理的方式就是:
1、获取要处理的位置
2、将要盖章的图片添加上去
代码如下:
public void printSign(OutputStream outputStream){
List<String> keyWords = new ArrayList<String>();
keyWords.add("打印人,打印机构");//支持多关键字,默认选择第一个找到的关键字
PdfReader pdfReader;
PdfStamper pdfStamper;
try {
pdfReader = new PdfReader(((ByteArrayOutputStream)outputStream).toByteArray());
pdfStamper = new PdfStamper(pdfReader, outputStream);
List<List<float[]>> arrayLists = findKeywords(keyWords, pdfReader);//查找关键字所在坐标
//一个坐标也没找到,就返回
if (ObjectUtil.isEmpty(arrayLists)) {
return;
}
if (!ObjectUtil.isEmpty(arrayLists.get(0))) {
for (int i=0; i<arrayLists.get(0).size(); i++) {
PdfContentByte overContent = pdfStamper.getOverContent((int)arrayLists.get
(0).get(i)[2]);
String imgPath =