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);
    }
}

参考文献

相关推荐
uzong33 分钟前
Mermaid: AI 时代画图的魔法工具
后端·架构
q***69771 小时前
Spring Boot与MyBatis
spring boot·后端·mybatis
IUGEI2 小时前
synchronized的工作机制是怎样的?深入解析synchronized底层原理
java·开发语言·后端·c#
间彧3 小时前
GraalVM Native Image:跨平台能力与编译模式深度解析
后端
间彧3 小时前
GraalVM Native Image 与传统 JVM 内存管理:云原生时代的技术选型指南
后端
r***12383 小时前
SpringBoot最佳实践之 - 使用AOP记录操作日志
java·spring boot·后端
b***74883 小时前
前端GraphQL案例
前端·后端·graphql
LSL666_3 小时前
SpringBoot自动配置类
java·spring boot·后端·自动配置类
q***78374 小时前
Spring Boot 3.X:Unable to connect to Redis错误记录
spring boot·redis·后端
t***26594 小时前
SpringBoot + vue 管理系统
vue.js·spring boot·后端