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

参考文献

相关推荐
你的人类朋友1 小时前
✍️记录自己的git分支管理实践
前端·git·后端
像风一样自由20201 小时前
Go语言入门指南-从零开始的奇妙之旅
开发语言·后端·golang
合作小小程序员小小店1 小时前
web网页开发,在线考勤管理系统,基于Idea,html,css,vue,java,springboot,mysql
java·前端·vue.js·后端·intellij-idea·springboot
间彧3 小时前
SpringBoot + MyBatis-Plus + Dynamic-Datasource 读写分离完整指南
数据库·后端
间彧3 小时前
数据库读写分离下如何解决主从同步延迟问题
后端
码事漫谈3 小时前
C++中的线程同步机制浅析
后端
间彧3 小时前
在高并发场景下,动态数据源切换与Seata全局事务锁管理如何协同避免性能瓶颈?
后端
码事漫谈3 小时前
CI/CD集成工程师前景分析:与开发岗位的全面对比
后端
间彧3 小时前
在微服务架构下,如何结合Spring Cloud实现动态数据源的路由管理?
后端
间彧3 小时前
动态数据源切换与Seata分布式事务如何协同工作?
后端