给定黑白PDF,如何反转颜色,使背景为黑色,其他一切为白色?
Adobe Reader执行此操作(首选项 - >辅助功能)仅用于在程序中查看.但是,本质上不会更改文档,以便在其他PDF阅读器中也可以反转颜色.
如何永久扭转颜色?
Kur*_*fle 14
您可以运行以下Ghostscript命令:
gs -o inverted.pdf \
-sDEVICE=pdfwrite \
-c "{1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer" \
-f input.pdf
Run Code Online (Sandbox Code Playgroud)
Acrobat将显示反转的颜色.
四个相同的部分{1 exch sub}用于CMYK颜色空间,并按照出现的顺序应用于C(yan),M(agenta),Y(ellow)和(blac)K颜色通道.
您可以只使用其中的三个 - 然后它用于RGB颜色空间并应用于R(ed),G(reen)和B(lue).
当然,您也可以"发明"自己的传递函数,而不是简单的传递函数1 exch sub:例如{0.5 mul},每个颜色通道只使用50%的原始颜色值.
注意:上面的命令会显示所有颜色反转,而不仅仅是黑色+白色!
注意事项:
某些PDF查看器不会显示反转的颜色,特别是Mac OS X上的Preview.app,Evince,MuPDF和PDF.js都不会.但Chrome的原生PDF查看器PDFium将会这样做,以及Ghostscript和Adobe Reader.
它不适用于所有 PDF(或PDF的所有页面),因为它还取决于文档颜色的确切定义.
上面的命令使用-finput.pdf之前添加的参数(必需)进行更新.很抱歉以前没有注意到我的命令行中的这个漏洞.我再次意识到这一点只是因为一些好的灵魂今天给了它第一个upvote ...
附加更新: Ghostscript的最新版本不再需要添加-f参数了.已通过v9.26验证(即使使用v9.25或更早版本也可能如此).
小智 3
最好的方法是使用“pdf2ps - Ghostscript PDF 到 PostScript 转换器”,它将 PDF 转换为 PS 文件。
创建 PS 文件后,使用任何文本编辑器打开它并{1 exch sub} settransfer在第一行之前添加。
现在使用上面使用的相同软件将 PS 文件“重新转换”回 PDF。
| 归档时间: |
|
| 查看次数: |
32783 次 |
| 最近记录: |