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

时间:2020-04-21 02:56:12

标签: pdf cmyk pixmap pymupdf

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

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的颜色空间是“ DeviceCMYK”。但是,当我尝试使用CMYK作为色彩空间获取Pixmap时(用pix = page.getPixmap()或{pix = page.getPixmap(colorspace = csCMYK)替换pix = page.getPixmap(colorspace="CMYK")行),它不会更改结果的颜色。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

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