Вы можете использовать Ghostscript для этой работы. Однако убедитесь, что вы используете самую последнюю версию.
Вот команда, чтобы попробовать:
gs \
-o rgb.pdf \
-sDEVICE=pdfwrite \
-sProcessColorModel=DeviceRGB \
-sColorConversionStrategy=RGB \
-sColorConversionStrategyForImages=RGB \
cmyk.pdf
Обратите внимание, что ваша цель добиться конверсии 'идеально без (слишком) видимого изменения цвета' не всегда достижима. Это очень сильно зависит от того, использовал ли входной PDF-файл встроенный цветовой профиль и какой именно.
Это также зависит от используемого цветового профиля. Приведенная выше команда будет использовать профиль RGB по умолчанию, скомпилированный в Ghostscript. Чтобы использовать собственный профиль, вы можете добавить различные параметры командной строки. Чтобы использовать один профиль для всех типов содержимого PDF, используйте:
-sDefaultRGBProfile=rgb-profile-filename
Это определяет исходные цвета, которые еще не определены колориметрически в исходном документе.
Если вы хотите переопределить профили, уже встроенные в документ PDF, добавьте следующее:
-dOverrideICC=true
Помимо этих параметров, вы также можете управлять профилем ICC для устройства вывода, добавив:
-sOutputICCProfile=output-profile-filename
При использовании профиля вывода часто требуется установить намерение рендеринга< /эм>. Для этого используйте:
-dRenderIntent=intent
где intent
является одним из
0
: для Perceptual
1
: для колориметрического
2
: для Насыщенность
3
: для целей Абсолютный колориметрический.
Ghostscript даже поддерживает использование разных профилей для разных типов содержимого PDF: графики, текста и изображений. Посмотреть здесь:
-sGraphicICCProfile=graphicprofile-filename
-sTextICCProfile=textprofile-filename
-sImageICCProfile=imageprofile-filename
Подобно описанному выше универсальному параметру -dRenderIntent
, вы можете указать разные намерения для разных типов контента:
-dGraphicIntent=intent
-dTextIntent=intent
-dImageIntent=intent
person
Kurt Pfeifle
schedule
13.12.2014