0

我正在运行 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()有一个“颜色空间”参数,并且使用Document.getPageImageList我发现我的 PDF 的颜色空间是“DeviceCMYK”。但是,当我尝试使用 CMYK 作为颜色空间获取 Pixmap 时(用或 `pix = page.getPixmap(colorspace=csCMYK) 替换pix = page.getPixmap()pix = page.getPixmap(colorspace="CMYK")),它不会改变结果颜色。任何帮助表示赞赏。

4

1 回答 1

1

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

于 2020-06-11T14:09:54.073 回答