「java获取pdf签名」java pdf 签名
本篇文章给大家谈谈java获取pdf签名,以及java pdf 签名对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、如何提取PDF中的签名
- 2、java如何对pdf文件实现数字签名
- 3、Java如何为pdf文件添加书签
- 4、java 中 如何使用itextpdf生成pdf 并且设置空白的签名域
- 5、怎么样把PDF文件中的电子签名提取出来转换成PDF格式?
- 6、【第14期】springboot: pdf电子签章
如何提取PDF中的签名
提取pdf文件中的签名,我们可以通过使用截图工具将签名给截下来,除此之外,如果签名是图片文件添加上去的话,可以通过使用“迅捷pdf编辑器”将文件给打开,然后点击编辑按钮,这时候点击签名,如果是图片的话,签名周边会出现蓝色框线。然后用鼠标右键点击签名,选择其中的图片另存为就可以了。
java如何对pdf文件实现数字签名
用Spire.Doc for Java 可以添加及验证数字签名,参考代码:
import com.spire.pdf.*;
import com.spire.pdf.graphics.PdfImage;
import com.spire.pdf.graphics.PdfTrueTypeFont;
import com.spire.pdf.security.GraphicMode;
import com.spire.pdf.security.PdfCertificate;
import com.spire.pdf.security.PdfCertificationFlags;
import com.spire.pdf.security.PdfSignature;
import java.awt.*;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
public class AddCertificate {
public static void main(String[]args){
//加载PDF文档
PdfDocument doc = new PdfDocument();
doc.loadFromFile("test.pdf");
//加载pfx证书,及证书秘钥
PdfCertificate cert = new PdfCertificate("Cermia.pfx","123654yes!");
//添加数字签名到指定页面,并设置其位置和大小
PdfSignature signature = new PdfSignature(doc, doc.getPages().get(2), cert, "MySignature");
Rectangle2D rect = new Rectangle2D.Float();
rect.setFrame(new Point2D.Float((float) doc.getPages().get(0).getActualSize().getWidth() - 340, (float) doc.getPages().get(0).getActualSize().getHeight() - 230), new Dimension(280, 150));
signature.setBounds(rect);
//设置签名为图片加文本模式
signature.setGraphicMode(GraphicMode.Sign_Image_And_Sign_Detail);
//设置签名的内容
signature.setNameLabel("签字者:");
signature.setName("Mia");
signature.setContactInfoLabel("联系电话:");
signature.setContactInfo("02881705109");
signature.setDateLabel("日期:");
signature.setDate(new java.util.Date());
signature.setLocationInfoLabel("地点:");
signature.setLocationInfo("成都");
signature.setReasonLabel("原因:");
signature.setReason("文档所有者");
signature.setDistinguishedNameLabel("DN: ");
signature.setDistinguishedName(signature.getCertificate().get_IssuerName().getName());
signature.setSignImageSource(PdfImage.fromFile("sign.png"));
//设置签名的字体
signature.setSignDetailsFont(new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.PLAIN, 9)));
//设置文档权限为禁止更改
signature.setDocumentPermissions(PdfCertificationFlags.Forbid_Changes);
signature.setCertificated(true);
//保存文档
doc.saveToFile("AddSignature.pdf");
doc.close();
}
}
数字签名添加效果:
数字签名效果
参考原文
Java如何为pdf文件添加书签
为pdf文件添加书签的方法有很多,下面给你介绍一种:
启动Adobe Reader,随便打开一个PDF文件,单击菜单“编辑/首选项”,打开相应的对话框。 在左侧单击“Java script ”项,在右侧勾选 “启用Acrobat Java script (J)”、 “启用菜单项目Java script 执行权限(M)” “启用全局对象安全性策略” 单击“确定”按钮
此时,单击菜单“视图”,在出现的级联菜单中。 你会发现多了“Bookmark This Page” “Go To Bookmark”等四个与书签有关的命令。 以后如果遇到需要插入书签的时候,只需在文档中选中相应的部分,单击“Bookmark This Page”命令,然后在出现的“Bookmark Name” (书签名)对话框中,输入书签名称,单击“确定”按钮,即可完成书签的添加工作。
以后要快速定位到书签时,只需在“视图”菜单中选择“Go To Bookmark”命令,然后从弹出的对话框中选择相应的书签名称。 Adobe Reader就会自动转到对应的部分,供你阅读或标注了。
删除书签。如果仅仅想删除某一个或几个书签,可以在“视图”菜单下选择“Remove a Bookmark”(删除书签)命令,并在出现的对话框中选择不想继续使用的书签即可。 如果要一次性地删除所有书签,可在“视图”菜单下选择“Clear Bookmark”(清理书签)命令。
java 中 如何使用itextpdf生成pdf 并且设置空白的签名域
/** 新建一个字体,iText的方法
* STSongStd-Light 是字体,在iTextAsian.jar 中以property为后缀
* UniGB-UCS2-H 是编码,在iTextAsian.jar 中以cmap为后缀
* H 代表文字版式是横版,相应的 V 代表竖版
*/
BaseFont bfChinese = BaseFont.createFont("STSongStd-Light",
"UniGB-UCS2-H", false);
Font fontChinese = new Font(bfChinese,12, Font.NORMAL, Color.GREEN)
怎么样把PDF文件中的电子签名提取出来转换成PDF格式?
将PDF文件中的电子签名提取出来转换成PDF格式的步骤如下:
1、要从pdf文件中提取签名,我们可以使用屏幕截图工具将其切断。
2、如果签名被添加到图像文件中,我们可以使用“快速pdf编辑器”打开文件,然后单击“编辑”按钮。
3、此时,我们可以点击签名。如果是图片,则会出现签名的蓝色边框。
4、然后使用鼠标右键单击签名并选择要保存的图片。
5、然后,就可将PDF文件中的电子签名提取出来转换成PDF格式。
拓展资料:
从电子签名的定义中,可以看出电子签名的两个基本功能:
(1)识别签名人。
(2)表明签名人对内容的认可。电子签名法律上在定义电子签名时充分考虑了技术中立性,关于电子签名的规定是根据签名的基本功能析取出来的,认为凡是满足签名基本功能的电子技术手段,均可认为是电子签名。由电子签名和数字签名的定义可以看出,二者是不同的:电子签名是从法律的角度提出的,是技术中立的,任何满足签名基本功能的电子技术手段,都可称为电子签名;数字签名是从技术的角度提出的,是需要使用密码技术的,主要目的是确认数据单元来源和数据单元的完整性。
【第14期】springboot: pdf电子签章
上期讲述了pdf文档的操作,这期讲述对pdf进行电子签章,公司的一个小业务,主要实现 1)线上登记学员信息 》2)线上付款 》 3)电子签名 》4)生成带有公司电子签章的pdf收据
线上付款和电子签名我会在后续章节讲述,这期讲述pdf电子签章
一、申请电子印章
二、生成PKCS12证书
1. PKCS介绍
PKCS:The Public-Key Cryptography Standards (简称PKCS)是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。
到1999年底,PKCS已经公布了以下标准:
PKCS#1:定义RSA公开密钥算法加密和签名机制,主要用于组织PKCS#7中所描述的数字签名和数字信封[22]。
PKCS#3:定义Diffie-Hellman密钥交换协议[23]。
PKCS#5:描述一种利用从口令派生出来的安全密钥加密字符串的方法。使用MD2或MD5 从口令中派生密钥,并采用DES-CBC模式加密。主要用于加密从一个计算机传送到另一个计算机的私人密钥,不能用于加密消息[24]。
PKCS#6:描述了公钥证书的标准语法,主要描述X.509证书的扩展格式[25]。
PKCS#7:定义一种通用的消息语法,包括数字签名和加密等用于增强的加密机制,PKCS#7与PEM兼容,所以不需其他密码操作,就可以将加密的消息转换成PEM消息[26]。
PKCS#8:描述私有密钥信息格式,该信息包括公开密钥算法的私有密钥以及可选的属性集等[27]。
PKCS#9:定义一些用于PKCS#6证书扩展、PKCS#7数字签名和PKCS#8私钥加密信息的属性类型[28]。
PKCS#10:描述证书请求语法[29]。
PKCS#11:称为Cyptoki,定义了一套独立于技术的程序设计接口,用于智能卡和PCMCIA卡之类的加密设备[30]。
PKCS#12:描述个人信息交换语法标准。描述了将用户公钥、私钥、证书和其他相关信息打包的语法[31]。
PKCS#13:椭圆曲线密码体制标准[32]。
PKCS#14:伪随机数生成标准。
PKCS#15:密码令牌信息格式标准[33]。
PKCS12也就是以上标准的PKCS#12,主要用来描述个人身份信息
2、JAVA生成PKCS12证书并进行存贮
生成的文件keystore.cer和keystore.p12放在自己项目的配置文件中,后面调用。
三、电子签章
2. 签名工具类SignPdf
3. 然后在业务中调用即可。
关于java获取pdf签名和java pdf 签名的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。