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

Java实现pdf文件压缩

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

1、依赖准备

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

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

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>
相关推荐
geovindu4 分钟前
CSharp: LogHelper
开发语言·后端·c#·.net
Mark_ZP8 分钟前
【锁2】锁的分类与概念
java·
奈斯先生Vector11 分钟前
大模型 Agentic Workflow 架构解构:异构 API 调度与 Token 路由的多模态系统设计
开发语言·前端·架构·prompt·aigc·音视频
冻柠檬飞冰走茶15 分钟前
PTA基础编程题目集 7-20 打印九九口诀表(C语言实现)
c语言·开发语言·数据结构·算法
caishenzhibiao21 分钟前
顺势捕猎者副图 同花顺期货通指标
java·c语言·c#
笨蛋不要掉眼泪1 小时前
RabbitMQ消息队列:SpringAMQP
java·分布式·rabbitmq
Richard.Wong1 小时前
qt生成dll供C#调用
开发语言·qt
wang_xin_8881 小时前
PHP函数
开发语言·php
Immortal__y1 小时前
php函数
开发语言·php
Mark_ZP1 小时前
【锁6】AQS (AbstractQueuedSynchronizer) 核心原理详解
java