Answers:
有趣的是,有“合法的”用例,尤其是视力低下的人。Acrobat和其他阅读器可以覆盖显示的颜色(例如,Evince中的Ctrl-I以及通过Acrobat Reader X中的“辅助功能”菜单),但奇怪的是无法进行打印。但是,您可以做的是使用GhostScript的pdf2ps转换器(或仅写入文件的伪PS打印机驱动程序)来获取Postscript文件,然后通过将文件放入
{1 exch sub} settransfer
作为文件中的第一行,然后打印该PostScript文件。这样,与将PDF转换为图像并将其反转相比,您将获得更加真实的文档呈现。
pdf2ps
和ps2pdf
我能够在原始PDF导出到一个倒置的PDF文件。我只是对拟议的生产线以及是否有可能“恢复”为原始颜色感到好奇。
有一种简单的方法和一种技术的方法。
技术方法是,如果您已安装Ghostscript并将其.../bin
文件夹添加到PATH,则应该可以通过从命令行调用类似于以下内容的方法来反转PDF的颜色:
gswin64 -o C:/outputfile.pdf -sDEVICE=pdfwrite -c "{1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer" -f C:/inputfile.pdf
请注意,如果您下载的是32位版本,则可能会调用gswin64
(位于.../bin
文件夹中)gswin32
,如果您使用的是* nix系统而不是Windows,则可能会完全调用(位于文件夹中),并且显然应该替换C:/outputfile.pdf
并替换C:/inputfile.pdf
为您的实际路径输入文件和预期的输出文件位置。另请注意,以我的经验,即使您在路径目录中有空格,即使您在其两边加上引号,有时也会有些麻烦。
还值得注意的是,除非您将该{1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer
行放在单独的.ps
文件中并将该.ps
文件添加到命令中,否则iirc的某些版本的Ghostscript可能会因此失败。
(这实际上只是Mateen Ulhaq
上述答案的充实版本)
一种简单的方法是,如果您不愿意执行上述任何一项操作,则可以使用InvertPDF.com网站,该网站将为您完成所有这些工作(还有更多工作)。这是我自己的网站,在尝试构建该线程时,我偶然发现了该线程。我肯定希望这个答案可以使下一个尝试实现类似目标或制作自己的脱机脚本的人更轻松。
在Acrobat Reader X中
编辑->首选项->可访问性选择:替换文档颜色选择:自定义颜色
根据个人喜好设置其余选项。
注意:这不会更改文档,只会更改您的视图及其打印方式。
以前发布的解决方案都没有对我有用,因此我编写了这个简单的bash脚本。这取决于pdftk
和awk
。只需将代码复制到文件中并使其可执行即可。然后像这样运行它:
$ /path/to/this_script.sh /path/to/mypdf.pdf
剧本:
#!/bin/bash
pdftk "$1" output - uncompress | \
awk '
/^1 1 1 / {
sub(/1 1 1 /,"0 0 0 ",$0);
print;
next;
}
/^0 0 0 / {
sub(/0 0 0 /,"1 1 1 ",$0);
print;
next;
}
{ print }' | \
pdftk - output "${1/%.pdf/_inverted.pdf}" compress
该脚本对我有用,但是您的里程可能会有所不同。特别是有时候,颜色以形式1.000 1.000 1.000
代替列出1 1 1
。该脚本可以根据需要轻松修改。如果需要,还可以添加其他颜色转换。
如果您想要更令人愉悦的灰度,并且可以将文档转换为图像,可以将其放入.bat文件中,然后将PDF拖放到.bat文件中。
"C:\Program Files\gs\gs9.20\bin\gswin64c" -o inverted.pdf -sDEVICE=pdfwrite -c "{1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer" -f %1
convert -brightness-contrast 3,-18 -compress lzw -density 300 -colorspace Gray inverted.pdf output.pdf
要求为第一个命令安装Ghostscript(请指定正确的路径)。需要为第二个命令安装带有旧版实用程序的ImageMagick。
许多人建议使用“ 编辑”->“首选项 ” ->“可访问性”方法,但遗憾的是它对我不起作用。经过测试并使用PDF设置后,我设法获得了想要的东西!
这应该可以解决问题!
重要的提示!
我建议将此文件打印为PDF而不是直接打印为PDF。特别是如果您打算在一页中打印多页,因为这也会导致空白也变成黑色!
最后,如果要将文档打印为另一个PDF,请在“ 页面大小和处理 ”下单击“ 适合”,然后选中两个框:“ 在需要时选择纸张尺寸 ”和“ 在需要时使用自定义纸张尺寸”。(以避免不必要的空格)
希望有帮助!
尽管输出文件比输入文件大50倍,但使用ImageMagick对我有用。
convert -density 300 -negate input_file.pdf output_file.pdf