view mupdf-source/docs/examples/reconvert-cmyk.js @ 38:8934ac156ef5

Allow to build with the PyPI package "clang" instead of "libclang". 1. It seems to be maintained. 2. In the FreeBSD base system there is no pre-built libclang.so. If you need this library you have to install llvm from ports additionally. 2. On FreeBSD there is no pre-built wheel "libclang" with a packaged libclang.so.
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 23 Sep 2025 10:27:15 +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])