跳到内容
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 福昕首页
  • 开发中心
  • SDK文档资料
申请试用
  • 企业自动化
    • Compressor
  • 福昕CloudAPI
  • 福昕PDF SDK 软件开发工具包
    • 福昕PDF SDK(ActiveX)
    • 福昕PDF SDK(桌面/服务器)
    • 福昕PDF SDK(Plug-in)
    • 福昕 PDF SDK(安卓)
    • 福昕PDF SDK(iOS)
    • 福昕PDF SDK(Web)
  • 福昕管理控制台
    • 公有云
    • 私有云
    • 通用情况
  • 福昕阅读器
    • RMS插件
  • 福昕高级编辑器
    • AI助手
    • Mac版本
      • 常规问题
    • windows版本
      • ECM集成
      • 互联PDF
      • 企业管理指南
      • 保护
      • 内容编辑
      • 创建PDF
      • 压缩
      • 图章
      • 安装与卸载
      • 常见问题
      • 打印
      • 注释/评论
      • 福昕插件
      • 翻译助手
      • 翻译助手教程
      • 试用与激活
      • 转换
      • 页面管理
    • 教育用户
      • 论文查重
      • 论文畅
      • 操作指南
    • 网页版
      • Foxit eSign
      • 电子签章
    • 订阅
    • 资源
  • 福昕高级编辑器Linux版本
  • 福船图纸管理系统
  • 福昕PDF SDK 软件开发工具包 > 福昕PDF SDK(桌面/服务器)
  • 标签:

使用优化压缩功能时,PDF SDK 如何通过设置图片的dpi参数来实现对压缩文件大小的控制?

  • 福昕知识库
  • 2024-11-22

用户对扫描件或者带有图片的PDF文件进行优化压缩时,可通过对图片dpi参数进行控制,从而决定最终文件的大小。示例代码如下:

public static void main(String[] args) throws PDFException {
        // Initialize library
        int error_code = Library.initialize(sn, key);
        if (error_code != e_ErrSuccess) {
            System.out.println("Library Initialize Error: " + error_code);
            return;
        }
        createResultFolder(output_path);
        String input_file =  "XXXXX.pdf";
        System.out.println("Optimized Start : Image Compression.");
        try {
         PDFDoc doc = new PDFDoc(input_file);
            error_code = doc.load(null);
            if (error_code != e_ErrSuccess) {
                System.out.println("The Doc [" +  input_file + " Error: " +  error_code);
                return;
            }
PauseUtil pause = new PauseUtil();
OptimizerSettings settings = new OptimizerSettings();
ImageSettings imageSettings = new ImageSettings();
imageSettings.setQuality(1);

//可自定义控制
imageSettings.setImageDPI(100);
imageSettings.setImageDPILimit(100);

settings.setColorImageSettings(imageSettings);
settings.setOptimizerOptions(OptimizerSettings.e_OptimizerCompressImages);
Progressive progressive = Optimizer.optimize(doc, settings, pause);
            int state = Progressive.e_ToBeContinued;
            while (state == Progressive.e_ToBeContinued) {
                state = progressive.resume();
                int rate = progressive.getRateOfProgress();
                System.out.println("Optimize progress percent: " +  rate + "%");
            }
            if(state == Progressive.e_Finished)
            {
             doc.saveAs( "Compression12.pdf", e_SaveFlagRemoveRedundantObjects);
            }
        } catch (PDFException e) {
            e.printStackTrace();
return;
        }
        System.out.println("Optimized Finish : Image Compression.");         

        Library.release();
    }

相关内容

版式识别功能Layout Recognition功能Demo简介

自v2025.2.1和v14.0.1版本开始以及之后的版本,如何获取到msi的包

云文档列表右键菜单与程序语言不一致

如何重复使用区域高亮的功能

如何在页面中总是显示文档页面大小

如何实现总是在新窗口中打开文件

如何实现PDF批量转换为word

如何设置编辑器默认启动界面

复制标注粘贴到另一文档后方向变化

在PDF文档上添加图片章打印不显示图章

推荐内容

版式识别功能Layout Recognition功能Demo简介

自v2025.2.1和v14.0.1版本开始以及之后的版本,如何获取到msi的包

云文档列表右键菜单与程序语言不一致

如何重复使用区域高亮的功能

如何在页面中总是显示文档页面大小

如何实现总是在新窗口中打开文件

如何实现PDF批量转换为word

如何设置编辑器默认启动界面

复制标注粘贴到另一文档后方向变化

在PDF文档上添加图片章打印不显示图章

产品
  • 应用行业
  • 白皮书
开发支持
  • 开发中心
  • SDK文档资料

销售咨询:010-50951668

客服电话:0591-38509808

销售咨询
微信公众号

©2025 福建福昕软件开发股份有限公司 版权所有

隐私策略