学习GroupDocs.Signature的简单实践
GroupDocs
admin 发布于:2025-03-21 14:51:59
阅读:loading
前面在摸索了Aspose For Java的全量产品组件共计23款,闲来无事偶然又发现了在GroupDocs方向又存在一些产品,这些产品基本都是取自于一个又一个的组件,取自所有组件中的一个方向进行汇总,组成一个统一的产品包。本次摸索学习GroupDocs.Redaction产品,经过一些持续的分析和摸索,结合使用反射的形式来调用,也就是说在API的使用前进行一次特殊的代码注册,即可实现授权,全程不需要License之类的xml,或是文档无水印、或是文档页数限制、或是获取内容无限制,等等。
特别说明:只为单纯的学习摸索与自我突破,商业软件请勿直接使用于生产环境(购买商业授权)。
本次实践的是GroupDocs.Signature for Java的24.7版本(当前最新版本),用于在 Java 应用程序中执行文档签名和相关操作的 API,使用数字签名签署 PDF、Office 文档和图像。
支持的文档格式:
微软Office格式
Word: DOCX, DOC, DOCM, DOT, DOTX, DOTM, RTF
Excel: XLSX, XLS, XLSM, XLSB, XLTM, XLT, XLTM, XLTX, XLAM, SXC, SpreadsheetML
PowerPoint: PPT, PPTX, PPS, PPSX, PPSM, POT, POTM, POTX, PPTM
图像和其他格式
便携的: PDF
图片: JPG, BMP, PNG, TIFF, GIF, DICOM, WEBP
其他办公形式: ODT, OTT, OTS, ODS, ODP, OTP, ODG
其他格式
网络: HTML, MHTML
档案: ZIP, TAR, 7Z
证书: PFX
支持的功能如下:
(1)添加签名:通过将数字签名精确地放置在任何页面上的任何位置,使用各种支持的签名类型来签署文档;
(2)定制结果:通过调整颜色、字体、边框、旋转和其他功能来自定义签名外观,以达到所需的结果;
(3)使用密码保护文档:对于许多受支持的文档类型,您可以使用密码保护签名文档;
(4)防止未经授权的更改:保护使用数字证书签名的重要业务文档免遭未经授权的修改;
(5)获得所需格式的结果:轻松获取任何受支持格式的签名结果文件。您还可以轻松地将 MS Word 文档转换为 PDF;
(6)文档预览:将文档的任何页面保存为图像以供将来处理;
(7)寻找签名:可以获得有关特定文档中先前添加的签名的信息;
(8)验证文件:验证任何已签名文档上签名的正确性;
(9)管理签名:将签名放置在文档页面上后,可以根据需要将其删除、移动或更新;
上面这一段摘自官网的介绍,整体上觉得很抽象,运行示例项目中相关的例子后我理解的意思:GroupDocs.Signature 是一个用于电子签名的开发工具包,旨在帮助开发人员在其应用程序中实现对文档签名和验证功能,允许用户在文件内容中进行签名,是一个强大的文档注释解决方案。
文件签名的存在可以有效的保障文档的安全,防篡改,比如我们编辑PDF文档时就会提示文件存在签名,无法在原文档上编辑,需要在一个新的副本文件上编辑更改,参考如下图所示:
以官网提供的Github示例`https://github.com/groupdocs-signature/GroupDocs.Signature-for-Java`为准,上面介绍说GroupDocs.Signature for Java 是一种数字签名 API,它能够向35 多种格式的文档添加印章、条形码和二维码、文本、图像、元数据、表单字段和数字签名。支持的文档格式包括 PDF、Microsoft Word 文档、Microsoft Excel 电子表格、Microsoft PowerPoint 演示文稿、开放文档格式、图像、Corel 和 Photoshop 文件等。本次摸索只是简单的示例实践,分别从其中挑出几个简单的示例来演示,本次运行了较多的示例代码,详细参考如下:
(Form表单签名)
(Form表单签名)
(查看签名)
(Xlsx签名)
(图片与水印签名)
水印批注的代码参考如下:
public class VerifyTextAdvanced {
public static void run() {
System.out.print("[Example Advanced Usage] # VerifyTextAdvanced : " +
"Verify document with Text signature with applying specific options.");
// The path to the documents directory.
String filePath = Constants.SAMPLE_SIGNED_MULTI;
try {
Signature signature = new Signature(filePath);
// create QRCode option with predefined QRCode text
TextVerifyOptions options = new TextVerifyOptions();
// specify if all pages shoudl be verified
options.setAllPages(false);
PagesSetup pagesSetup = new PagesSetup();
pagesSetup.setFirstPage(true);
// specify text pattern
options.setText("Text signature");
// specify verification text pattern
options.setMatchType(TextMatchType.Exact);
// sign document to file
VerificationResult result = signature.verify(options);
if (result.isValid()) {
System.out.print("\nDocument was verified successfully!");
} else {
System.out.print("\nDocument failed verification process.");
}
} catch (Exception ex) {
System.out.print("System Exception: " + ex.getMessage());
}
}
}
(1)`GroupDocx.xxx`不是开源免费的使用,Github上有示例项目,包含了大量的示例,示例的结果就是生成了一些《Evaluation Warning》警告、水印、内容页数限制、内容文本限制等;
(2)aspose旗下有许多的产品,都是商业付费版本,常见于各种文档格式文件的操作,都需要商业授权使用,也基本都是支持多种编程语言的,如有Java、C++、.NET等等,官网也有多种在线示例;
(3)示例与相关文件下载:《GroupDocs.Signatures示例实践.zip》,注:下载并不包含具体的科学实现部分,只是源文件与示例输出文件;
(4)科学实现分为两种情况,一种是使用反射,另一种是使用License.xml文件;
(5)aspose相关的各个产品组件为独立存在的各个产品,GroupDocs是提取全集产品中的某个功能的集合,提供了一个大类的功能操作,并且统一对外提供API;
(6)本次使用的GroupDocs.Signature授权方案在以下文件类型中进行了验证:pdf、docx、xlsx、pptx、jpg等等;
点赞
发表评论
评论列表
留言区
- 学习GroupDocs.Assembly的Word模板实践
- 学习GroupDocs.Assembly的Excel模板实践
- 学习GroupDocs.Assembly的PPT模板实践
- 学习GroupDocs.Assembly的其它模板实践
- 学习GroupDocs.Watermark的增加与删除文本水印实践
- 学习GroupDocs.Watermark的增加与删除图片水印实践
- 学习GroupDocs.Redaction的Xlsx实践
- 学习GroupDocs.Redaction的Docx实践
- 学习GroupDocs.Redaction的其它文件类型实践
- 学习GroupDocs.Annotation的简单实践
- 学习GroupDocs.Conversion的Spring版在线示例
- 学习GroupDocs.Conversion的简单实践
- 学习GroupDocs.Merger的简单实践
- 学习GroupDocs.Parser的简单实践
- 学习GroupDocs.Comparison的Spring版在线示例
- 学习GroupDocs.Comparison的简单实践