You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iText7 PDF Optimizer之Image Quality Optimizer未按文档预期生效的技术求助

问题分析与解决方案

我一眼就发现你代码里的核心问题了——你配置好了带参数的ImageQualityOptimizer实例,但最终并没有把它添加到优化器中,而是新增了一个默认的、无任何压缩配置的实例,导致图像压缩完全没生效!

具体错误点

看这段代码:

// 你创建了配置好参数的tiff_optimizer,但之后没用到它
ImageQualityOptimizer tiff_optimizer = new ImageQualityOptimizer();
tiff_optimizer.SetTiffProcessor(new BitmapCompressor(.05f, .05f));
// 这里你又新建了一个空的ImageQualityOptimizer,之前的配置等于白做
optimizer.AddOptimizationHandler(new ImageQualityOptimizer());

你花时间配置了tiff_optimizer的Tiff压缩参数,但最后添加到优化器的是一个全新的、默认的ImageQualityOptimizer实例,这个默认实例不会对图像做任何压缩处理,自然达不到官方演示的效果。

修正后的代码

把上述代码段修改为:

ImageQualityOptimizer tiff_optimizer = new ImageQualityOptimizer();
tiff_optimizer.SetTiffProcessor(new BitmapCompressor(.05f, .05f));
// 添加你配置好的实例,而不是新建空的
optimizer.AddOptimizationHandler(tiff_optimizer);

额外建议(可选)

如果你的PDF中包含JPEG等其他格式的图像,还需要为这些格式添加对应的压缩处理器,比如:

// 针对JPEG图像设置压缩参数(质量0.5,保留元数据)
tiff_optimizer.SetJpegProcessor(new JpegCompressor(0.5f, true));

验证效果

修正后重新运行代码,查看生成的report.txt,应该会出现ImageQualityOptimizer相关的处理日志,类似:

[INFO] PdfOptimizer/ImageQualityOptimizer: Processed X images, reduced total size by Y bytes

这样就能和官方演示的效果一致啦!

内容的提问来源于stack exchange,提问作者Zeeshan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 03:37:33