更改PDF文件的文本和背景颜色

时间:2015-04-29 11:53:39

标签: windows pdf colors ghostscript color-profile

我想在PDF文档中以编程方式更改背景颜色和文本颜色,以便在晚上更好地阅读(有点像在Adobe Reader中:编辑 - >首选项 - >辅助功能 - &gt ;替换文档颜色)。

是否有适合Windows的良好命令行工具或API?

到目前为止,我还没有找到任何。如果需要将新着色的PDF保存到新文件中,则可以。

2 个答案:

答案 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. Adob​​e Reader
  2. Adob​​e Acrobat
  3. GV
  4. 的Ghostscript / GS
  5. Chrome的原生PDF渲染器('pdfium'
  6. 这些不显示倒置颜色:

    1. Chrome with PDF.js
    2. Firefox with PDF.js
    3. 迷走星球
    4. MuPDF

答案 1 :(得分:2)

  1. 安装nodejs。
  2. npm i -g serve
  3. 在pdf目录中运行:serve
  4. 在Chrome中打开http://localhost:5000,然后点击某个文件。
  5. 安装Chrome扩展程序Dark Reader
  6. Dark Reader > Toggle localhost:5000
  7. enter image description here

相关问题