wwaz/colorprofile-php

PHP library and CLI for installing, managing and resolving ICC color profiles.

Maintainers

Package info

github.com/WWAZ/colorprofile-php

Homepage

Issues

pkg:composer/wwaz/colorprofile-php

Statistics

Installs: 4

Dependents: 0

Suggesters: 0

Stars: 0

v0.1.0 2026-05-06 14:18 UTC

This package is auto-updated.

Last update: 2026-05-06 15:42:19 UTC


README

CI Static Analysis Lint License: MIT

A PHP library and CLI for installing, managing, and resolving ICC color profiles in web-to-print workflows.

Requirements

  • PHP ^8.1
  • PHP extensions: ext-json, ext-zip
  • Optional but recommended: ext-curl for robust HTTP downloads

Installation

composer require wwaz/colorprofile-php

Quickstart

# Initialize config and storage folders
vendor/bin/colorprofile init

# Install curated profiles and set defaults (if missing)
vendor/bin/colorprofile install --all
<?php

$profile = colorprofile()->cmyk();
echo $profile->filename();

CLI usage

Full syntax and all flags:

vendor/bin/colorprofile help

List and inspect curated profiles

vendor/bin/colorprofile list registry

vendor/bin/colorprofile info ISOcoated_v2_eci

List installed profiles

# Installed profiles from configured path
vendor/bin/colorprofile list installed

# Installed profiles limited to one color space (--rgb | --cmyk)
vendor/bin/colorprofile list installed --rgb
vendor/bin/colorprofile list installed --cmyk

Install profiles

# Single curated profile
vendor/bin/colorprofile install ISOcoated_v2_eci

# All profiles marked safeForBatchInstall in the registry
vendor/bin/colorprofile install --all

# Only safe batch profiles for one color space
vendor/bin/colorprofile install --rgb
vendor/bin/colorprofile install --cmyk

# Install from a URL you trust
vendor/bin/colorprofile install-url https://example.com/foo.icc --space=cmyk --name=Foo \
  --license-url=https://example.com/terms --sha256=...
# optional: --manifest=... --file-in-archive=... --force

Remove profiles

vendor/bin/colorprofile remove ISOcoated_v2_eci
# or
vendor/bin/colorprofile remove /absolute/path/to/profile.icc

Configure defaults

vendor/bin/colorprofile config set default-cmyk ISOcoated_v2_eci
vendor/bin/colorprofile config set default-rgb sRGB_v4_ICC_preference
vendor/bin/colorprofile config get default-cmyk
vendor/bin/colorprofile config get default-rgb
vendor/bin/colorprofile config get path

Configuration bootstrap

Configuration file location:

<project-root>/.colorprofile.config.json

colorprofile never auto-creates the config during normal API calls. If the file is missing, commands and API calls throw an exception with guidance to run:

vendor/bin/colorprofile init

Default config created by init:

{
  "path": "./storage/profiles",
  "default": {
    "rgb": null,
    "cmyk": null
  }
}

PHP usage

<?php

$profile = wwaz\Colorprofile\Facades\Finder::cmyk();
// or
$profile = colorprofile()->cmyk();

echo $profile->name();
// ISOcoated_v2_eci

echo $profile->filename();
// absolute path to the .icc file

echo $profile->space();
// rgb|cmyk

Settings API

<?php

wwaz\Colorprofile\Settings::path('/your/path/to/profiles');
wwaz\Colorprofile\Settings::defaultProfile('cmyk', 'ISOcoated_v2_eci');
wwaz\Colorprofile\Settings::defaultProfile('rgb', 'sRGB_v4_ICC_preference');

Versioning and stability

This project follows Semantic Versioning.

Security and licensing

  • Source code is licensed under MIT (LICENSE).
  • ICC profiles are third-party assets with separate terms (THIRD_PARTY_PROFILES.md).
  • For private vulnerability disclosure, see SECURITY.md.