Проблема с цветом при сохранении Pixmap страницы PDF как PNG с помощью PyMuPDF
Я запускаю следующий фрагмент кода Python из документации PyMuPDF 1.16.17, который сохраняет изображения 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()
имеет аргумент "цветовое пространство" и использование Document.getPageImageList
Я обнаружил, что цветовое пространство моего PDF-файла - "DeviceCMYK". Но когда я пытаюсь получить Pixmap, используя CMYK в качестве цветового пространства (заменяяpix = page.getPixmap()
линия с pix = page.getPixmap(colorspace="CMYK")
или `pix = page.getPixmap(colorspace=csCMYK)), он не меняет результирующие цвета. Любая помощь приветствуется.
1 ответ
Please upgrade your PyMuPDF version. Then ICC color support will be included which should improve your output.