Java实现pdf文件压缩(aspose-pdf实现压缩、itextpdf去除aspose-pdf版权水印)

Java实现pdf文件压缩

时间换空间,实现pdf文件无损压缩。

1、依赖准备

市面上操作pdf文件的组件有spire.pdf.free、itextpdf、openpdf、pdfbox等,它们各有千秋。我们主要完成的场景为压缩,减少文件大小去优化存储、传输等。

在这里选取的组件为aspose-pdf和itextpdf,原因是spire.pdf.free压缩代码比较直观和简单但是只能免费压缩前10页,itextpdf压缩代码较为复杂开发难度大适合去水印,而openpdf和pdfbox也有开发难度较大的问题。

1、aspose-pdf依赖

可能比较冷门,阿里云maven仓库等没有对应的依赖,无法通过gav坐标添加!因此我们需要到中央仓库下载jar包!

地址为https://mvnrepository.com/artifact/com.aspose/aspose-pdf

建议选择低版本,高版本难以去除版权水印,如这里选择21.11版本的

将jar引入工程

这里可以参考这篇文章

https://blog.csdn.net/m0_46357847/article/details/140749772

如果是gradle工程,可参考下图

2、itextpdf依赖

这里主要用于去除aspose-pdf的版权水印,直接添加即可。

xml 复制代码
<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.13</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.itextpdf/itext-asian -->
<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext-asian</artifactId>
    <version>5.2.0</version>
</dependency>
相关推荐
学长毕设5 小时前
基于SpringBoot的实验室资产管理系统
java·spring boot·后端
C^h5 小时前
c++ string
开发语言·c++
raindayinrain6 小时前
c++高性能--原子操作,无锁编程,操作顺序
开发语言·c++·性能优化
学逆向的6 小时前
C++ 合并命名空间
开发语言·c++·网络安全
Zhao-Jichao6 小时前
VS2026 打包 C++ 程序生成 EXE,借助 Installer Project 扩展工具
开发语言·c++
zzu123zsw7 小时前
从臃肿的模板调用到声明式契约:深入 UniHttp 动态代理与多渠道生命周期扩展
java·spring boot·microsoft·unihttp
学逆向的7 小时前
C 局部静态变量
c语言·开发语言·网络安全
大都督会赢的7 小时前
C++第一节课
开发语言·c++
“AI国潮设计-小江”7 小时前
【AIGC实战】Python+Stable Diffusion打造“英歌舞财神”IP,解锁“马到成功”等爆款情绪营销文案设计
开发语言·人工智能·python·prompt·aigc
源码集结号7 小时前
云诊所门诊系统源码,基于SpringBoot+Vue.js架构,支持多租户设计与Docker容器化部署
java·spring boot·源码·医院信息系统·门诊系统·诊所系统