We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Aspose.Pdf For NET 如何识别是否全部由图片组成

如题,如何识别一个PDF是否全部都由图像组成
另外,PDF压缩的时候,能否针对性的调PDF中某超大像素的图片的宽和高
ImageCompressionOptions
这个选项中的MaxResolution 参数,指定图像的最大分辨率。如果图像具有更高的分辨率,它将被缩放
这个没有弄明白,这个分辨率指的是什么?DPI吗?还是原图像的百分比
他和ImageQuality这个参数又是什么关系?
为何我设置ImageQuality为100以下的时候,MaxResolution设为30以上,会报内存不足
var optimizeOptions = new Aspose.Pdf.Optimization.OptimizationOptions();
optimizeOptions.ImageCompressionOptions.CompressImages = true;
optimizeOptions.ImageCompressionOptions.ImageQuality = 90;
optimizeOptions.ImageCompressionOptions.MaxResolution = 35;
optimizeOptions.ImageCompressionOptions.ResizeImages = true;
optimizeOptions.ImageCompressionOptions.Version = Aspose.Pdf.Optimization.ImageCompressionVersion.Mixed;

奇怪的是:下面这样的代码竟然是可以的
var optimizeOptions = new Aspose.Pdf.Optimization.OptimizationOptions();
optimizeOptions.ImageCompressionOptions.CompressImages = true;
optimizeOptions.ImageCompressionOptions.ImageQuality = 80;
optimizeOptions.ImageCompressionOptions.MaxResolution = 50;
optimizeOptions.ImageCompressionOptions.ResizeImages = true;
optimizeOptions.ImageCompressionOptions.Version = Aspose.Pdf.Optimization.ImageCompressionVersion.Mixed;

这究竟是怎么一回事儿呢,
谢谢

这个文件重现了内存不足的现象
https://drive.google.com/open?id=1U_J5Oc0GmU1MR9kAmG_2W2_TL5fwJUDt
代码如下

 var optimizeOptions = new Aspose.Pdf.Optimization.OptimizationOptions();
            optimizeOptions.ImageCompressionOptions.CompressImages = true;
            optimizeOptions.ImageCompressionOptions.ImageQuality = 50;
            optimizeOptions.ImageCompressionOptions.MaxResolution = 80;
            optimizeOptions.ImageCompressionOptions.ResizeImages = true;
            optimizeOptions.ImageCompressionOptions.Version = Aspose.Pdf.Optimization.ImageCompressionVersion.Mixed;

@icejd

为了确定PDF是否仅包含文本或图像,请检查API文档中的 Find whether PDF file contains images or text only。此外,我们已经通过针对. NET 19.12的Aspose.PDF优化您的PDF文档来测试该方案,并且无法发现任何异常。请您确保使用最新版本的API,并在问题仍然存在的情况下,请共享完整的环境详细信息,例如OS名称和版本,已安装的RAM,应用程序类型等。我们将在我们的环境和地址中再次测试该方案相应地。

输出文件

@asad.ali 好像是编辑器出了问题,莫名其妙的就正常了
感谢你

@icejd

关于压缩图像,

CompressImages启用以其他压缩/质量重新压缩JPEG图像(如果此参数为false,则不会更改图像条纹)
ImageQuality是JPEG的质量,以百分比为单位(仅当CompressImages为true时才使用此值)
ResizeImages启用图像大小调整
MaxResolution是DPI中图像的分辨率,如果实际图像分辨率(根据以像素为单位的图像大小,页面上显示的图像大小和页面信息中定义的用户单位计算)大于指定的“ Max resoultion”,则图像将被调整大小(缩小比例)为了减小图像大小(以字节为单位)。仅当ResizeImages参数设置为true时才应用MaxResolution。