学习Spire.PDF 11.3.5版本的科学实践(五)

Spire Office
placeholder image
admin 发布于:2025-04-26 17:30:22
阅读:loading

Spire是e-iceblue公司的一个产品系列,专注于高效、功能丰富的文档处理解决方案。e-iceblue成立于2009年,致力于为开发者提供简单易用的文档处理工具,以满足各种业务需求。Spire 产品广泛应用于企业办公、教育、金融等多个行业。e-iceblue旗下有多个产品系列,也支持多种编程语言,如:NET、C++、Java、Python、JavaScript、Android等,本次以Spire.Office for Java支持的产品种类为例,经过一些时间的分析与摸索,实现它的组件应用的无水印和页数限制,以时下最新的版本为例摸索出它的科学实现分享。特别说明:只为单纯的学习摸索与自我突破,商业软件请勿直接使用于生产环境(购买商业授权)。

1.基本介绍

Spire.PDF for Java 是一款专门对 PDF 文档进行操作的 Java 类库。该类库的主要功能在于帮助开发人员在 Java 应用程序(J2SE 和 J2EE)中生成 PDF 文档和操作现有 PDF 文档,并且运行环境无需安装 Adobe Acrobat。同时兼容大部分国产操作系统,能够在中标麒麟和中科方德等国产操作系统中正常运行。

Spire.PDF for Java 支持的功能非常丰富,例如 PDF 文档安全性设置,提取文本和图片,合并和拆分 PDF 文档,绘制文本、图片、形状、条形码到 PDF,打印 PDF 文档,创建、读取和填充表单域,导入和导出 PDF 表单数据,添加和删除层,重叠 PDF 页面,添加文本和图片水印,添加、更新、删除 PDF 中的书签,添加表格,添加注释和动作,压缩 PDF 文档,获取 PDF 页数等。此外,Spire.PDF for Java 还支持将 PDF 文档高质量地转换为 XPS、图片(JPEG、PNG)、Excel、SVG、Word、HTML、PowerPoint 演示文稿、OFD 和 PDF/A 格式,以及将 SVG、XPS、TXT、图片和 HTML 文档高质量地转换为 PDF 格式。

2.主要功能

(1)只需 Spire.PDF for Java,无需 Adobe Acrobat

Spire.PDF for Java 是一款完全独立的 PDF 类库。它的运行环境无需安装 Adobe Acrobat 或其他任何第三方组件。

(2)多样化的 PDF 文档操作功能

Spire.PDF for Java 支持画文本、图片、表格、条形码、形状到 PDF,提取文本和图片,创建、填充和删除 PDF 表单,添加文本和图片水印到 PDF,添加、更新和删除 PDF 书签,添加、更新和删除超链接、附件、注释和动作,以及添加图片和文本印章到 PDF 等。

(3)文档信息设置

Spire.PDF for Java 支持设置 PDF 文档信息,例如文档属性设置,偏好设置(页面方向,页面大小和缩放比例等)。

(4)高质量的文档转换功能

Spire.PDF for Java 支持开发人员可以轻易地将 Spire.PDF for Java 集成到 Java(J2SE 和 J2EE)应用程序中。将 PDF 文档高质量地转换为 PowerPoint 演示文稿、XPS、Excel、图片(JPEG、PNG)、SVG、Word、HTML、OFD 和 PDF/A 格式,以及将 SVG、XPS、HTML、OFD 和 TXT 文档高质量地转换为 PDF 格式。

(5)文档安全性设置

Spire.PDF for Java 支持给 PDF 文档添加和验证数字签名,加密和解密 PDF 文档,修改 PDF 文档的安全权限,以及检测签名后的 PDF 文档是否被修改。

(6)易于集成

开发人员可以轻易地将 Spire.PDF for Java 集成到 Java(J2SE 和 J2EE)应用程序中。

3.示例实现

基于Spire.PDF实现一个简单的文档格式转换示例,在我看来就足够了,至于它的更多/更强大/更专业的API及高级用法我就不摸索了,本次基于“spire.pdf-11.3.5.jar”版本,仅对它的水印和文档页数进行摸索实践,将一个有,参考如下代码:

public class HelloWorldPdf {

    public static void main(String[] args) {
        PdfDocument document = new PdfDocument();
        document.loadFromStream(HelloWorldPdf.class.getResourceAsStream("/Hello.pdf"));
        document.saveToFile("output/pdf/Pdf2Docx.docx" , FileFormat.DOCX);
        document.saveToFile("output/pdf/Pdf2Html.html" , FileFormat.HTML);
        document.close();
    }

}

示例说明】

(1)Hello.pptx文档是《Java开发手册-黄山版》,共有55页的内容,有富文本文字、图片、超链接等;

(2)将PDF文档转换为Docx格式;

(3)将PDF文档转换为HTML格式;

image.png

(源PDF文档

image.png

(PDF转换Docx

image.png

(PDF转换HTML

4.其它说明

(1)Spire.Office不是开源免费的使用,Github上有示例项目,包含了大量的示例,示例的结果就是生成了一些《Evaluation Warning》警告、水印、内容页数限制、内容文本限制等;

(2)Spire.Office公司旗下有许多编程语言支持的多种Office文档产品,都是商业付费版本,常见于各种文档格式文件的操作,都需要商业授权使用官网也有更多更详细的说明;

(3)科学实现将是改动jar中class的方式,有必要说的是这个jar文件中并未使用RSA/SF的文件class加密,也可以可以不用改动jar文件的,只需要将改动的class文件单独放置在一个jar文件中,运行是使用java -cp或jar -jar命令时优先加载改动的class,最后加载原始jar中class的形式即可实现不改动jar文件;

(4)Spire.Office下辖的各个产品组件为独立存在的各个产品,Office是提取全集产品中的汇总,囊括了全部产品组件的范围,对内提供统一的版本管理,对外提供一个产品范围体系;

(5)Spire的官网有提供Free Spire.Office for Java免费版本,免费版有篇幅限制,除了文档篇幅限制外,没有任何警告信息,但官方仅对免费版进行不定期维护,不提供技术服务或其他支持服务;

(6)本次学习摸索的目的是基于专业版进行的专业实践,实践的结果就是无水印,无内容页数限制;

(7)特别说明:只为单纯的学习摸索与自我突破,商业软件请勿直接使用于生产环境(购买商业授权)

(8)示例与相关文件下载:《Spire.PDF示例相关下载.zip》,注:下载并不包含具体的科学实现部分,只是源文件与示例输出文件;

(9)关于PDF文档,特别提示一下应使用相关的API将文档属性值顺便给改了,参考如下图所述:

image.png


 点赞


 发表评论

当前回复:作者

 评论列表


留言区