我想在PDF文档中以编程方式更改背景颜色和文本颜色,以便在晚上更好地阅读(有点像在Adobe Reader中:编辑 - >首选项 - >辅助功能 - &gt ;替换文档颜色)。
是否有适合Windows的良好命令行工具或API?
到目前为止,我还没有找到任何。如果需要将新着色的PDF保存到新文件中,则可以。
答案 0 :(得分:2)
没有办法直接这样做,没有(自由软件或免费)工具我知道。 (因为在一般情况下,您必须更改PDF页面的所有颜色,而不仅仅是背景,因此您仍然可以有一些对比度和颜色差异。)
您为Adobe Reader描述的内容不会更改PDF文件本身,它会更改应用程序呈现页面的方式(通过反转颜色或类似方式)。在查看期间和之后,PDF保持不变。
然而,可能能够通过在输入PDF中应用合适的ICC颜色配置文件来实现类似的功能,并在(最新版本的)Ghostscript的帮助下生成新的从此输出PDF。
问题仍然存在: IS 适合您的ICC颜色配置文件?
我很快考虑在
pdftk ... background ...
命令行的帮助下将灰色背景应用于PDF。但这可能会使一些或许多PDF不可读。 (一个黑色背景肯定会让它变得不可读,因为大多数文字是黑色的,并且会保持不变。)要创建可用作灰色背景的PDF页面(A4大小),可以使用Ghostscript:
gs -o gray.pdf -sDEVICE=pdfwrite -g5950x8420 -c ".8 setgray 0 0 595 842 rectfill showpage"
。 子>然后将其应用于原始PDF(A4):
pdftk original.pdf background gray.pdf output orig-with-backgr.pdf
。请注意,这只会更改这些页面的背景(或页面的那些区域),其中原始背景是透明的,是大多数基于文本的PDF。它将 不 适用于背景为不透明白色或彩色的页面或区域。)
在ImageMagick的帮助下,您还可以轻松实现永久的颜色变化(反色)。但是,这将同时咀嚼并制作好的矢量PDF文件,将它们转换为完整的光栅图像页面:
convert nice.pdf -alpha off -invert inverted-colors-ugly-raster.pdf
。
最后,这是一种在Ghostscript的帮助下完成颜色反转的相当不可靠的方法。它为输出PDF文件设置 colortransfer 函数:
gs -o output.pdf \
-sDEVICE=pdfwrite \
-c "{1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer" \
-f input.pdf
这是不可靠的,因为不是每个PDF查看器都会尊重该设置。我过去曾经测试了几次......
这些观看者 DO SHOW 反转颜色:
这些不显示倒置颜色:
答案 1 :(得分:2)
npm i -g serve
serve
Dark Reader > Toggle localhost:5000