java实现pdf定位签章

这篇博客介绍了如何在Java项目中处理PDF文件并添加签章。通过获取处理位置并插入图片作为签章,使用iTextpdf库完成操作。同时提到了如果需要条形码生成,可以额外引入相应包。方法`printSign`接收PDF的二进制流对象和自定义关键字,注意PDF关键字的字体必须为中文字体。
摘要由CSDN通过智能技术生成

很多时候,在项目中需要打单子,生成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 =
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值