首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pdf图像的下采样,下采样因子误差

pdf图像的下采样,下采样因子误差
EN

Stack Overflow用户
提问于 2016-10-08 20:26:52
回答 1查看 4.4K关注 0票数 2

我发出以下命令:

代码语言:javascript
复制
gs \
-o downsampled.pdf \
-sDEVICE=pdfwrite \
-dDownsampleColorImages=true \
-dColorImageResolution=180 \
-dColorImageDownsampleThreshold=1.0 \

并获得以下错误:

代码语言:javascript
复制
Subsample filter does not support non-integer downsample factor (1.994360)
Failed to initialise downsample filter, downsampling aborted

(在一些页上)

以及:

代码语言:javascript
复制
Subsample filter does not support non-integer downsample factor (2.000029)
Failed to initialise downsample filter, downsampling aborted

最初,我尝试将样本降到150 for,这给出了因子(2.40?)的错误,这意味着多个错误,其中最后几个数字对于不同的页面是不同的。所以我猜图像大约是150*2.4 = 360 dpi。所以我试着把采样降到180。但这些图像似乎都有点不对劲吗?

  1. 是否有一种方法来指定因子而不是dpi?
  2. 有没有办法“绕过”这个因素?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-09 16:46:03

没有,没有办法指定的因素(这是Adobe规范的蒸馏器旁,我们目前仅限于这些)。如果不修改源代码,也不能指定舍入的近似值。

您可以使用不同的下采样算法。

很久以后

实际上,我刚刚检查了当前的代码,您必须使用Ghostscript的旧版本。

当前默认的下采样过滤器是Bicubic过滤器,如果强制使用子样本筛选器,则代码将检查所请求的下采样因子是否为整数。

如果因子不是整数,而是在整数的0.1以内,则强制因子为最接近的整数。

如果它的外部为整数因子的0.1,那么它中止子样本过滤器并切换到Bicubic。

我建议升级。

后期编辑

因此,避免伪造的ColorDownsampleOption,问题实际上不是彩色图像,它的单色图像,或者更准确地说,在你的情况下,图像。

我设置了以下命令行:

代码语言:javascript
复制
gs 
    -sDEVICE=pdfwrite \
    -sOutputFile=pdfwrite.pdf \
    -dDownsampleColorImages=true \
    -dDownsampleGrayImages=true \
    -dDownsampleMonoImages=true \
    -dColorImageDownsampleThreshold=1 \
    -dGrayImageDownsampleThreshold=1 \
    -dMonoImageDownsampleThreshold=1 \
    -dColorImageDownsampleType=/Bicubic \
    -dGrayImageDownsampleType=/Bicubic \
    -dMonoImageDownsampleType=/Bicubic \
    -dColorImageResolution=72 \
    -dGrayImageResolution=72 \
    -dMonoImageResolution=100 "gs sample.pdf"

这会产生一个错误消息,对于单色图像,唯一可用的过滤器是子样本,然后是您引用的关于不精确因素的错误消息。

我想这基本上说明了我的观点,一个示例文件对于调查问题来说是非常重要的。

所以这里有一个问题,我会研究它,很明显,对于单色图像,它应该被夹紧到最近的整数分辨率,因为没有其他的过滤器是可能的。然而,灰色和彩色图像确实像预期的那样工作。

正如我在早期评论中所建议的那样,报告一个bug可能会更快地达到这一点。我仍然建议你这样做,这样就不会忽视这一点。

您可能会感兴趣地注意到,对于我来说,当我不对单色图像进行降采样,但按照上面的命令行对其他图像进行降采样时,生成的文件是785 is,原来的值是2.5MB。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39937028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档