java进行pdf文件压缩


文章目录


pdf文件压缩

添加依赖

xml 复制代码
<dependency>
    <groupId>com.luhuiguo</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>23.1</version>
</dependency>
java 复制代码
public class OptimizePdf {

    public static void optimize(String source, String target) {
        Document doc = new Document(source);
        //设置压缩属性
        OptimizationOptions opt = new OptimizationOptions();
        //删除PDF不必要的对象
        opt.setRemoveUnusedObjects(true);
        //链接重复流
        opt.setLinkDuplcateStreams(false);
        //删除未使用的流
        opt.setRemoveUnusedStreams(false);
        //删除不必要的字体
        opt.setUnembedFonts(true);
        //压缩PDF中的图片
        opt.getImageCompressionOptions().setCompressImages(true);
        //图片压缩比, 0 到100可选,越低压缩比越大
        opt.getImageCompressionOptions().setImageQuality(50);
        doc.optimizeResources(opt);
        //优化web的PDF文档
        doc.optimize();
        doc.save(target);
    }

    public static void main(String[] args) {
        String source = "/Users/zhanghe/Desktop/2.pdf";
        String target = "/Users/zhanghe/Desktop/1.pdf";
        optimize(source, target);
    }
}

参考文献

相关推荐
Marktowin5 小时前
Mybatis-Plus更新操作时的一个坑
java·后端
赵文宇6 小时前
CNCF Dragonfly 毕业啦!基于P2P的镜像和文件分发系统快速入门,在线体验
后端
程序员爱钓鱼6 小时前
Node.js 编程实战:即时聊天应用 —— WebSocket 实现实时通信
前端·后端·node.js
Libby博仙7 小时前
Spring Boot 条件化注解深度解析
java·spring boot·后端
源代码•宸7 小时前
Golang原理剖析(Map 源码梳理)
经验分享·后端·算法·leetcode·golang·map
小周在成长7 小时前
动态SQL与MyBatis动态SQL最佳实践
后端
瓦尔登湖懒羊羊7 小时前
TCP的自我介绍
后端
小周在成长7 小时前
MyBatis 动态SQL学习
后端
子非鱼9217 小时前
SpringBoot快速上手
java·spring boot·后端