java itext7 生成pdf及电子签章及加背景图片

该博客详细介绍了如何在Java中使用iText7库生成PDF文件,并结合BCrypt相关的jar包实现电子签章功能。内容包括创建keystore文件、配置安全属性文件、添加背景图片以及进行PDF签章的步骤和关键代码示例。
摘要由CSDN通过智能技术生成

1. 除了引入itext7 的相关jar包以外,还需要相关jar包:bcpkix-jdk15to18-163.jar,bcprov-jdk15to18-163.jar (这两个一定要有,不然会报错,其他包看情况而定,参考链接里面JDK 1.5 - JDK 1.8)

2. 生成 .keystore 文件

   参考:https://blog.csdn.net/u014386474/article/details/51996019 & https://blog.csdn.net/devil_bye/article/details/82759140

3. 1)把生成好的 keystore文件放入某个固定目录下面,我放到了D:\\cert\\下面

    2)把bcprov-jdk15to18-163.jar文件放入 jdk/jre/lib/ext 目录下面

    3) 配置安全属性文件,在 jdk/jre/lib/security 目录下有个 java.security 文件,如看到:

         security.provider.1=sun.security.provider.Sun

   security.provider.2=sun.security.rsa.SunRsaSign

        插入新的提供者:

         security.provider.3=org.bouncycastle.jce.provider.BouncyCastleProvider

如果不配置这一步,会报java.security.NoSuchProviderException: no such provider: BC 这个问题(应该是)

 

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.PrivateKey;
import java.security.cert.Certificate;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.bouncycastle.jce.provider.BouncyCastleProvider;

import com.itextpdf.io.image.ImageData;
import com.itextpdf.io.image.ImageDataFactory;
import com.itextpdf.kernel.colors.DeviceRgb;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.xobject.PdfImageXObject;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.Div;
import com.itextpdf.layout.element.Image;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Table;
import com.itextpdf.layout.property.BackgroundImage;
import com.itextpdf.layout.property.Property;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值