view mupdf-source/docs/examples/reconvert-cmyk.js @ 31:baeb8bdeff3a

Fortify sources using _FORTIFY_SOURCE=3 and also apply -fno-delete-null-pointer-checks. See: https://github.com/ossf/wg-best-practices-os-developers/issues/659.
author Franz Glasner <fzglas.hg@dom66.de>
date Sun, 21 Sep 2025 13:11:30 +0200
parents b50eed0cc0ef
children
line wrap: on
line source

// Read an image that was converted to RGB from CMYK without color management,
// and re-convert it using a better CMYK profile.

"use strict"

if (scriptArgs.length != 2) {
	print("usage: mutool run recolor-cmyk.js input.png output.png")
	quit()
}

var pixmap = new mupdf.Image(scriptArgs[0]).toPixmap()
mupdf.disableICC()
pixmap = pixmap.convertToColorSpace(mupdf.ColorSpace.DeviceCMYK)
mupdf.enableICC()
pixmap = pixmap.convertToColorSpace(mupdf.ColorSpace.DeviceRGB)
if (scriptArgs[1].match(/\.jpg/))
	pixmap.saveAsJPEG(scriptArgs[1], 100)
else
	pixmap.saveAsPNG(scriptArgs[1])