繁体   English   中英

使用ghostscript打印PDF时如何去除背景灰色?

[英]How to remove background gray color when printing PDF using ghostscript?

我的任务是使用Windows OS和Python打印PDF文件。 因此,当我通过HP打印机进行打印时,会得到该PDF的确切副本,但背景为灰色。

我使用PyFPDF库生成PDF。 工作正常。 这是PDF文件的输出。 如果我通过Adobe Acrobat Reader打印,则没有灰色背景。 但是当我使用ghostscript打印时,它带有灰色背景。

import subprocess
import win32print

generated_pdf_name = 'some_pdf_name.pdf'
current_printer = win32print.GetDefaultPrinter()

query = f'{os.path.join("GHOSTSCRIPT", "bin", "gswin64c.exe")} -dPrinted -dBATCH -dNOPAUSE -dFitPage -q -dNumCopies=1 -dNoCancel -sDEVICE=mswinpr2 -dDeviceGrayToK=false -sOutputFile="%printer%{current_printer}" "{os.path.join(generated_pdf_name)}"'
subprocess.call(query, shell=True)

在这里,我使用了MS Windows打印机 ,因此-sDEVICE=mswinpr2 我也尝试过gsprint 但是它没有在我的PDF文件中显示图像。 所以那是我进入了ghostscript 它打印了此PDF文件的所有内容,但是唯一的问题是灰色背景。

看一下灰色打印输出 ,我需要没有灰色背景的普通输出。 我想念上面的东西吗?

看起来您的“ PDF文件”不过是扫描的图像,但是由于您没有提供实际的PDF文件,因此无法分辨。

我的猜测(总的来说可能会看不到原始PDF)是整个内容都是图像,“白色背景”并不是真正的白色,而是“几乎白色”。

mswinpr2设备的工作方式是将PDF文件渲染为位图,然后将该位图发送到打印机(Acrobat Reader的工作方式完全不同)。 我猜想将“不太白”渲染为RGB会使它变得更少白,这会导致背景变得略微更灰暗,以至于在打印时明显呈灰色。

本质上有两种选择; 您可以修复原始PDF文件,以使背景真正是白色,或者可以使用其他ICC配置文件进行渲染,这将导致为背景渲染不同的颜色。

Ghostscript文档中介绍了使用其他ICC配置文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM