首页 文章

Ghostscript tiffg3灰色=黑色

提问于
浏览
1

尝试拍摄pdf并将其转换为tiff,但将所有灰度变为纯黑色 . 换句话说,如果它不是白色,它应该是黑色的 . tiffg3设备是1位,但它仍然是灰色并试图伪造它 .

示例命令:

gs -dQUIET -dNOPAUSE -dBATCH -r200 -sPAPERSIZE = letter -sDEVICE = tiffg3 -sOutputFile = out.tiff in.pdf

示例输入:
enter image description here

输出示例:
enter image description here

期望的输出:
enter image description here

2 回答

  • 0

    1位设备使用半色调(也称为屏幕)来仅使用黑色和白色像素来表示灰度阴影 . 这就是它的目的,它根本不打算改变颜色 .

    有多种方法可以伪造你想要的PostScript(重新定义setgray是一种方法,也设置传递函数),但PDF不是一种编程语言,所以这种方法并没有真正起作用 .

    您可以使用自定义ICC配置文件来校正灰度值,使它们全部为黑色 . Ghostscript版本9及更高版本使用Little CMS作为颜色管理系统,并具有可以覆盖的“默认”灰色ICC配置文件 . 据推测,构建一个将白色以外的任何东西映射到纯黑色的轮廓是很容易的 . 但是,这不是我的领域 . 您还需要考虑这将如何影响(例如)图像 .

    Ghostscript中有基于对象类型的其他控件,因此您可以选择仅将此转换应用于文本或线条 . 理想情况下,您应该返回原始文档,在那里更改它,并制作新的PDF .

  • 1

    您可以使用标志-level来使用imagemagick转换为此目的 . 例如,将图像转换为纯黑/白分割灰度等级:

    convert -level 50%,50%file.pdf blackwhite.pdf

    然后将其传递给GS . 我对传真的建议是留下部分灰度,因为许多文件都依赖于它的易读性:

    convert -density 816x784 -level 55%,95%file.pdf blackwhite.pdf

    这个留下了40%的灰度,在0-55范围内变换为黑色(0黑色和100白色),并将95-100范围内的所有内容都变为白色,你可以玩它并得到你的最佳匹配 . 密度标志将在以后转换为GS中的tiffg3时提供帮助,从而在生成的tif中提供更好的质量 .

相关问题