java操作pdf--Spire,功能较全,免费版只能操作10页
1、添加依赖
需要下载,打入maven仓库,提取码:u9gf
https://pan.baidu.com/s/1Sv2esqNF2gQO1Tg10TWTSw
打入maven仓库
mvn install:install-file -Dfile=D:\Spire.Pdf.jar -DgroupId=my.Spire-Pdf -DartifactId=Spire-Pdf -Dversion=1.0 -Dpackaging=jar
<dependency><groupId>my.Spire-Pdf</groupId><artifactId>Spire-Pdf</artifactId><version>1.0</version></dependency>
2、API网址
https://www.e-iceblue.cn/spirepdfjava/add-digital-signature-to-pdf-in-java.html
3、如数字签名
import com.spire.pdf.graphics.*;
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 AddDigitalSignature {public static void main(String[] args) {//加载PDF文档PdfDocument doc = new PdfDocument();doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf");//加载pfx证书PdfCertificate cert = new PdfCertificate("C:\\Users\\Administrator\\Desktop\\gary.pfx", "e-iceblue");//添加数字签名,设置其位置和大小PdfSignature signature = new PdfSignature(doc, doc.getPages().get(0), 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() - 150), new Dimension(270, 100));signature.setBounds(rect);//设置签名为图片加文本模式signature.setGraphicMode(GraphicMode.Sign_Image_And_Sign_Detail);//设置签名的内容signature.setNameLabel("签字者:");signature.setName("Gary");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("C:\\Users\\Administrator\\Desktop\\logo-2.png"));//设置签名的字体signature.setSignDetailsFont(new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.PLAIN, 12)));//设置文档权限为禁止更改signature.setDocumentPermissions(PdfCertificationFlags.Forbid_Changes);signature.setCertificated(true);//保存文档doc.saveToFile("C:\\Users\\Administrator\\Desktop\\AddSignature.pdf");doc.close();}
}
注意:其中.pxf数字证书可以使用Adobe PDF阅读器生成,注意它存放的位置就行,但是格式不太好看
它每一个功能都有例子,这一点很好!!!
如:
4、放两张API截图吧
java操作pdf--Spire,功能较全,免费版只能操作10页相关推荐
- Java实现PDF导出功能
一.添加依赖 <dependency><groupId>com.lowagie</groupId><artifactId>itext</artif ...
- adobe reader java_使用Adobe Reader控件结合Java实现PDF打印功能
1.在页面引入控件,控件依赖任何第三方js库: classid="clsid:CA8A9780-280D-11CF-A24D-444553540000"> value=&qu ...
- 计算机间盘的使用方法,电脑怎样分盘操作,史上最全分盘操作教程示意图
到今天依然还是会存在一些同学不会硬盘分区的,这个问题我也是蛮惊讶的,但是不管怎么样吧,总不能让漂亮的女神自己去给自己的电脑的硬盘分区吧.所以,为了拯救你的女神可能对硬盘的各种分区需求,这里跟大家分享几 ...
- java操作PDF实现简单盖章功能(未签字)
最近有一个电子签章的功能需求,网上相关的资料比较少,我查阅了相关资料,做了一个简单的盖章功能的demo 首先需要导个依赖,这里选用的是itextpdf来操作pdf <dependencies&g ...
- JAVA操作pdf——创建表格
JAVA操作pdf--创建表格 一.前言 在实习的时候遇到了需要将查询到的数据构建成为PDF的情况,于是在网上查找到了相关的Java操作pdf的教程,看到大部分的文章都是使用ITextPdf操作的,于 ...
- 利用itext操作pdf从数据库导出大量数据--功能汇总(一)
[原始需求] 通过SQL及JDBC模式导出各类业务数据,以PDF文件格式存放,要求该文件只能查看和打印(不能编辑和篡改),文件要有公司相关标志和水印功能. [需求分析] 1. 通过SQL及JDBC模式 ...
- Java使用PDFBOX操作pdf文件(一,加载和创建pdf)
前言: 之前想学习使用Java操作pdf的时候看过了IText的文档.确实IText的文档很全,也有一个官网可以很方便的查找信息.但IText的开源协议为AGPL,使用者必须传染性的开源代码,商业使用 ...
- java pdf库_Java中常用的操作PDF的类库
iText iText是一个能够快速产生PDF文件的java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java Servlet有很好的给合.使用 ...
- JAVA删除pdf空白页_【Spire.PDF教程】添加或删除 PDF 页面,调整页面顺序-word删除空白页...
Spire.PDF是一个专业的PDF组件,能够独立地创建.编写.编辑.操作和阅读PDF文件,支持 .NET.Java.WPF和Silverlight. 操作PDF文档时,我们通常会需要添加或删除一些P ...
最新文章
- 关于学习Python的一点学习总结(43->类中的方法重写)
- 在linux和windows下自动备份数据库
- Python 多进程、多线程启动
- Catalina.stop: Connect refused解决过程
- 快搜浏览器_让微软丢大脸的edge浏览器终于出新版了!
- 三星计划在第二代GalaxyFold上采用屏下摄像头技术
- stm32f407网页服务器,STM32F407单片机通过USR-LTE-7S4模块和服务器进行4G通信
- 学习c++ 必知三大特性
- 精美的wordpress企业主题模板
- 51单片机入学第八课——8*8点阵屏
- “天河一号”算一小时13亿人算340年
- 最新版!国内IT软件外包公司汇总~
- 投影仪对焦应用镜头马达驱动芯片
- C语言实现简单卡尔曼滤波
- dva是什么游戏_守望先锋DVA全互动台词一览
- 影版《宫》曝海报 周冬雨:想与张艺谋再合作
- arcgis api 4.13 —— Layer详细介绍
- Java小白入门200例81之Java接口
- 基于人脸的常见表情识别(3)——模型搭建、训练与测试
- 30_linux笔记-文件系统