使用PyMuPDF将PDF页面Pixmap保存为PNG时的颜色问题



我正在运行PyMuPDF 1.16.17文档中的以下Python代码,这些代码将PDF文件中每个页面的PNG图像保存下来。

import sys, fitz  # import the binding
fname = "test.pdf" # get filename from command line
doc = fitz.open(fname)  # open document
for page in doc:  # iterate through the pages
pix = page.getPixmap()
pix.writePNG("F:/cynthia/page-%i.png" % page.number)  # store image as a PNG

生成的PNG图像的颜色与PDF原件不一样(太饱和且对比度高(。我知道函数Page.getPixmap()有一个"colorspace"参数,使用Document.getPageImageList我发现我的PDF的colorspace是"DeviceCMYK"。但是,当我尝试使用CMYK作为颜色空间(将pix = page.getPixmap()行替换为pix = page.getPixmap(colorspace="CMYK")或`pix=page.getPixmap(colorspace=csCCMYK((来获得Pixmap时,它不会更改生成的颜色。感谢您的帮助。

请升级您的PyMuPDF版本。然后将包括ICC颜色支持,这将提高您的输出。

最新更新