使用 PyMuPDF 将 PDF 页面 Pixmap 保存为 PNG 时出现颜色问题
Color issue when saving PDF page Pixmap as PNG using PyMuPDF
我是 运行 来自 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 的色彩空间是 "DeviceCMYK"。但是当我尝试使用 CMYK 作为色彩空间(将 pix = page.getPixmap()
行替换为 pix = page.getPixmap(colorspace="CMYK")
或`pix = page.getPixmap(colorspace=csCMYK))时,它不会改变结果颜色。感谢任何帮助。
请升级您的 PyMuPDF 版本。然后将包括 ICC 颜色支持,这将改善您的输出。
我是 运行 来自 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 的色彩空间是 "DeviceCMYK"。但是当我尝试使用 CMYK 作为色彩空间(将 pix = page.getPixmap()
行替换为 pix = page.getPixmap(colorspace="CMYK")
或`pix = page.getPixmap(colorspace=csCMYK))时,它不会改变结果颜色。感谢任何帮助。
请升级您的 PyMuPDF 版本。然后将包括 ICC 颜色支持,这将改善您的输出。