打印时是否可以反转PDF中的文本和背景色?


18

我有一个全黑色背景的现有PDF,所有文本都是白色。

有没有办法让文本打印成黑色而黑色背景根本不打印?

我有Bluebeam和Adobe PDF。

Answers:


12

有趣的是,有“合法的”用例,尤其是视力低下的人。Acrobat和其他阅读器可以覆盖显示的颜色(例如,Evince中的Ctrl-I以及通过Acrobat Reader X中的“辅助功能”菜单),但奇怪的是无法进行打印。但是,您可以做的是使用GhostScript的pdf2ps转换器(或仅写入文件的伪PS打印机驱动程序)来获取Postscript文件,然后通过将文件放入

{1 exch sub} settransfer 

作为文件中的第一行,然后打印该PostScript文件。这样,与将PDF转换为图像并将其反转相比,您将获得更加真实的文档呈现。


1
通过安装PostScript打印机驱动程序,然后告诉它打印到文件以捕获输出,我已经完成了类似的操作(在Windows上)。相同的概念应在其他OS上工作。应该注意的是,PostScript文件只是可以用大多数文本编辑器编辑的文本文件。
martineau'7

使用的组合pdf2psps2pdf我能够在原始PDF导出到一个倒置的PDF文件。我只是对拟议的生产线以及是否有可能“恢复”为原始颜色感到好奇。
tigerjack89

3

有一种简单的方法和一种技术的方法

技术方法是,如果您已安装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网站,该网站将为您完成所有这些工作(还有更多工作)。这是我自己的网站,在尝试构建该线程时,我偶然发现了该线程。我肯定希望这个答案可以使下一个尝试实现类似目标或制作自己的脱机脚本的人更轻松。


2

根据此页面,您可能可以使用ImageMagick完成它。但是,PDF 在反转之前将转换为图像。如果由于这个原因质量不够高,您应该能够调整DPI编号。

convert -density 300 -negate "input.pdf[1-999]" output.pdf

替换300为所需的DPI和1-999所需的页面范围。

注意:此命令适用于旧版本的ImageMagick,您需要确保安装了旧版实用程序。

旧版实用程序


@ fixer1234感谢您引起我的注意。我已经在Internet存档上添加了指向该页面的链接。
bdr9

1

在Acrobat Reader X中

编辑->首选项->可访问性选择:替换文档颜色选择:自定义颜色

根据个人喜好设置其余选项。

注意:这不会更改文档,只会更改您的视图及其打印方式。


与原始AFAICT的打印方式没有不同
mike65535 '18

1

以前发布的解决方案都没有对我有用,因此我编写了这个简单的bash脚本。这取决于pdftkawk。只需将代码复制到文件中并使其可执行即可。然后像这样运行它:

$ /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。该脚本可以根据需要轻松修改。如果需要,还可以添加其他颜色转换。


0

如果您想要更令人愉悦的灰度,并且可以将文档转换为图像,可以将其放入.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。


0

许多人建议使用“ 编辑”->“首选项->“可访问性”方法,但遗憾的是它对我不起作用。经过测试并使用PDF设置后,我设法获得了想要的东西!

  • 前往列印(Ctrl + P)
  • 点击高级设置
  • 检查设置:自定义
  • 单击左侧面板上的输出
  • 颜色下:选择复合灰色
  • 选中取
  • 点击确定

这应该可以解决问题!

重要的提示!
我建议将此文件打印为PDF而不是直接打印为PDF。特别是如果您打算在一页中打印多页,因为这也会导致空白也变成黑色!

最后,如果要将文档打印为另一个PDF,请在“ 页面大小和处理 ”下单击“ 适合”,然后选中两个框:“ 在需要时选择纸张尺寸 ”和“ 在需要时使用自定义纸张尺寸”。(以避免不必要的空格)

希望有帮助!


这特定于您的打印机驱动程序
Mark Jeronimus

-1

尽管输出文件比输入文件大50倍,但使用ImageMagick对我有用。

convert -density 300 -negate input_file.pdf output_file.pdf

命令行(在luinux中)是:convert -density 300 -negate input_file.pdf output_file.pdf
Catchaca,2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.