Pdf extends Spot
Com\Tecnick\Color\Pdf
PDF Color class
Tags
Table of Contents
- $default_spot_colors : array<string|int, mixed>
- Array of default Spot colors Color keys must be in lowercase and without spaces.
- $jscolor : array<string|int, mixed>
- Array of valid JavaScript color names to be used in PDF documents
- $spot_colors : array<string|int, mixed>
- Array of Spot colors
- $webhex : array<string|int, mixed>
- Array of WEB safe colors #RRGGBBAA
- addSpotColor() : mixed
- Add a new spot color or overwrite an existing one with the same name.
- extractHexCode() : string
- Extract the hexadecimal code from the input string and add the alpha channel if missing
- getClosestWebColor() : string
- Get the name of the closest web color
- getColorObj() : Model
- Parse the input color string and return the correspondent color Object
- getColorObject() : object
- Returns a color object from an HTML, CSS or Spot color representation.
- getHexFromName() : string
- Get the color hexadecimal hash code from name
- getJsColorString() : string
- Convert color to javascript string
- getJsMap() : array<string|int, mixed>
- Return the Js color array of names
- getMap() : array<string|int, mixed>
- Get the color map (name => hexhash)
- getNameFromHex() : string
- Get the color name code from hexadecimal hash
- getPdfColor() : string
- Get the color components format used in PDF documents NOTE: the alpha channel is omitted
- getPdfRgbComponents() : string
- Get the RGB color components format used in PDF documents
- getPdfSpotObjects() : string
- Returns the PDF command to output Spot color objects.
- getPdfSpotResources() : string
- Returns the PDF command to output Spot color resources.
- getRgbObjFromHex() : array<string|int, mixed>
- Get the RGB color object from hexadecimal hash
- getRgbObjFromName() : Rgb
- Get the RGB color object from color name
- getRgbSquareDistance() : float
- Get the square of the distance between 2 RGB points
- getSpotColor() : array<string|int, mixed>
- Return the requested spot color data array
- getSpotColorObj() : Cmyk
- Return the requested spot color CMYK object
- getSpotColors() : array<string|int, mixed>
- Returns the array of spot colors.
- normalizeSpotColorName() : string
- Return the normalized version of the spot color name
- normalizeValue() : float
- Get the normalized integer value from [0..$max] to [0..1]
- getColorObjFromCss() : Model
- Get the color object from a CSS color string
- getColorObjFromJs() : Model
- Get the color object from acrobat Javascript syntax
- getColorObjFromCssCmyk() : Model
- Get the color object from a CSS CMYK color string
- getColorObjFromCssGray() : Model
- Get the color object from a CSS CMYK color string
- getColorObjFromCssHsl() : Model
- Get the color object from a CSS CMYK color string
- getColorObjFromCssRgb() : Model
- Get the color object from a CSS CMYK color string
- getHexArray() : array<string|int, mixed>
- Get the RGB array from hexadecimal hash
Properties
$default_spot_colors
Array of default Spot colors Color keys must be in lowercase and without spaces.
protected static array<string|int,
mixed> $default_spot_colors =
array('none'
=> array('name' => 'None', 'color' => array('cyan' =>
0, 'magenta' => 0, 'yellow' => 0, 'key' => 0, 'alpha'
=> 1)), 'all' => array('name' => 'All', 'color' =>
array('cyan' => 1, 'magenta' => 1, 'yellow' => 1, 'key'
=> 1, 'alpha' => 1)), 'cyan' => array('name' => 'Cyan',
'color' => array('cyan' => 1, 'magenta' => 0, 'yellow'
=> 0, 'key' => 0, 'alpha' => 1)), 'magenta' =>
array('name' => 'Magenta', 'color' => array('cyan' => 0,
'magenta' => 1, 'yellow' => 0, 'key' => 0, 'alpha' =>
1)), 'yellow' => array('name' => 'Yellow', 'color' =>
array('cyan' => 0, 'magenta' => 0, 'yellow' => 1, 'key'
=> 0, 'alpha' => 1)), 'key' => array('name' => 'Key',
'color' => array('cyan' => 0, 'magenta' => 0, 'yellow'
=> 0, 'key' => 1, 'alpha' => 1)), 'white' =>
array('name' => 'White', 'color' => array('cyan' => 0,
'magenta' => 0, 'yellow' => 0, 'key' => 0, 'alpha' =>
1)), 'black' => array('name' => 'Black', 'color' =>
array('cyan' => 0, 'magenta' => 0, 'yellow' => 0, 'key'
=> 1, 'alpha' => 1)), 'red' => array('name' => 'Red',
'color' => array('cyan' => 0, 'magenta' => 1, 'yellow'
=> 1, 'key' => 0, 'alpha' => 1)), 'green' =>
array('name' => 'Green', 'color' => array('cyan' => 1,
'magenta' => 0, 'yellow' => 1, 'key' => 0, 'alpha' =>
1)), 'blue' => array('name' => 'Blue', 'color' =>
array('cyan' => 1, 'magenta' => 1, 'yellow' => 0, 'key'
=> 0, 'alpha' => 1)))
$jscolor
Array of valid JavaScript color names to be used in PDF documents
protected static array<string|int,
mixed> $jscolor = array('transparent',
'black', 'white', 'red', 'green', 'blue', 'cyan', 'magenta',
'yellow', 'dkGray', 'gray', 'ltGray')
$spot_colors
Array of Spot colors
protected array<string|int,
mixed> $spot_colors = array()
$webhex
Array of WEB safe colors #RRGGBBAA
protected static array<string|int,
mixed> $webhex = array('aliceblue' =>
'f0f8ffff', 'antiquewhite' => 'faebd7ff', 'aqua' =>
'00ffffff', 'aquamarine' => '7fffd4ff', 'azure' =>
'f0ffffff', 'beige' => 'f5f5dcff', 'bisque' => 'ffe4c4ff',
'black' => '000000ff', 'blanchedalmond' => 'ffebcdff', 'blue'
=> '0000ffff', 'blueviolet' => '8a2be2ff', 'brown' =>
'a52a2aff', 'burlywood' => 'deb887ff', 'cadetblue' =>
'5f9ea0ff', 'chartreuse' => '7fff00ff', 'chocolate' =>
'd2691eff', 'coral' => 'ff7f50ff', 'cornflowerblue' =>
'6495edff', 'cornsilk' => 'fff8dcff', 'crimson' =>
'dc143cff', 'cyan' => '00ffffff', 'darkblue' => '00008bff',
'darkcyan' => '008b8bff', 'darkgoldenrod' => 'b8860bff',
'dkgray' => 'a9a9a9ff', 'darkgray' => 'a9a9a9ff', 'darkgrey'
=> 'a9a9a9ff', 'darkgreen' => '006400ff', 'darkkhaki' =>
'bdb76bff', 'darkmagenta' => '8b008bff', 'darkolivegreen' =>
'556b2fff', 'darkorange' => 'ff8c00ff', 'darkorchid' =>
'9932ccff', 'darkred' => '8b0000ff', 'darksalmon' =>
'e9967aff', 'darkseagreen' => '8fbc8fff', 'darkslateblue' =>
'483d8bff', 'darkslategray' => '2f4f4fff', 'darkslategrey' =>
'2f4f4fff', 'darkturquoise' => '00ced1ff', 'darkviolet' =>
'9400d3ff', 'deeppink' => 'ff1493ff', 'deepskyblue' =>
'00bfffff', 'dimgray' => '696969ff', 'dimgrey' => '696969ff',
'dodgerblue' => '1e90ffff', 'firebrick' => 'b22222ff',
'floralwhite' => 'fffaf0ff', 'forestgreen' => '228b22ff',
'fuchsia' => 'ff00ffff', 'gainsboro' => 'dcdcdcff',
'ghostwhite' => 'f8f8ffff', 'gold' => 'ffd700ff', 'goldenrod'
=> 'daa520ff', 'gray' => '808080ff', 'grey' => '808080ff',
'green' => '008000ff', 'greenyellow' => 'adff2fff',
'honeydew' => 'f0fff0ff', 'hotpink' => 'ff69b4ff',
'indianred' => 'cd5c5cff', 'indigo' => '4b0082ff', 'ivory'
=> 'fffff0ff', 'khaki' => 'f0e68cff', 'lavender' =>
'e6e6faff', 'lavenderblush' => 'fff0f5ff', 'lawngreen' =>
'7cfc00ff', 'lemonchiffon' => 'fffacdff', 'lightblue' =>
'add8e6ff', 'lightcoral' => 'f08080ff', 'lightcyan' =>
'e0ffffff', 'lightgoldenrodyellow' => 'fafad2ff', 'ltgray' =>
'd3d3d3ff', 'lightgray' => 'd3d3d3ff', 'lightgrey' =>
'd3d3d3ff', 'lightgreen' => '90ee90ff', 'lightpink' =>
'ffb6c1ff', 'lightsalmon' => 'ffa07aff', 'lightseagreen' =>
'20b2aaff', 'lightskyblue' => '87cefaff', 'lightslategray' =>
'778899ff', 'lightslategrey' => '778899ff', 'lightsteelblue'
=> 'b0c4deff', 'lightyellow' => 'ffffe0ff', 'lime' =>
'00ff00ff', 'limegreen' => '32cd32ff', 'linen' => 'faf0e6ff',
'magenta' => 'ff00ffff', 'maroon' => '800000ff',
'mediumaquamarine' => '66cdaaff', 'mediumblue' => '0000cdff',
'mediumorchid' => 'ba55d3ff', 'mediumpurple' => '9370d8ff',
'mediumseagreen' => '3cb371ff', 'mediumslateblue' =>
'7b68eeff', 'mediumspringgreen' => '00fa9aff', 'mediumturquoise'
=> '48d1ccff', 'mediumvioletred' => 'c71585ff',
'midnightblue' => '191970ff', 'mintcream' => 'f5fffaff',
'mistyrose' => 'ffe4e1ff', 'moccasin' => 'ffe4b5ff',
'navajowhite' => 'ffdeadff', 'navy' => '000080ff', 'oldlace'
=> 'fdf5e6ff', 'olive' => '808000ff', 'olivedrab' =>
'6b8e23ff', 'orange' => 'ffa500ff', 'orangered' =>
'ff4500ff', 'orchid' => 'da70d6ff', 'palegoldenrod' =>
'eee8aaff', 'palegreen' => '98fb98ff', 'paleturquoise' =>
'afeeeeff', 'palevioletred' => 'd87093ff', 'papayawhip' =>
'ffefd5ff', 'peachpuff' => 'ffdab9ff', 'peru' => 'cd853fff',
'pink' => 'ffc0cbff', 'plum' => 'dda0ddff', 'powderblue'
=> 'b0e0e6ff', 'purple' => '800080ff', 'red' =>
'ff0000ff', 'rosybrown' => 'bc8f8fff', 'royalblue' =>
'4169e1ff', 'saddlebrown' => '8b4513ff', 'salmon' =>
'fa8072ff', 'sandybrown' => 'f4a460ff', 'seagreen' =>
'2e8b57ff', 'seashell' => 'fff5eeff', 'sienna' => 'a0522dff',
'silver' => 'c0c0c0ff', 'skyblue' => '87ceebff', 'slateblue'
=> '6a5acdff', 'slategray' => '708090ff', 'slategrey' =>
'708090ff', 'snow' => 'fffafaff', 'springgreen' =>
'00ff7fff', 'steelblue' => '4682b4ff', 'tan' => 'd2b48cff',
'teal' => '008080ff', 'thistle' => 'd8bfd8ff', 'tomato' =>
'ff6347ff', 'turquoise' => '40e0d0ff', 'violet' =>
'ee82eeff', 'wheat' => 'f5deb3ff', 'white' => 'ffffffff',
'whitesmoke' => 'f5f5f5ff', 'yellow' => 'ffff00ff',
'yellowgreen' => '9acd32ff')
Methods
addSpotColor()
Add a new spot color or overwrite an existing one with the same name.
public addSpotColor(string $name,
Cmyk $color)
: mixed
Parameters
- $name : string
-
Full name of the spot color.
- $color : Cmyk
-
CMYK color object
Return values
mixed —extractHexCode()
Extract the hexadecimal code from the input string and add the alpha channel if missing
public extractHexCode(string $hex)
: string
Parameters
- $hex : string
-
string containing the hexadecimal color hash (i.e. #RGB, #RGBA, #RRGGBB, #RRGGBBAA)
Tags
Return values
string —the hash code (e.g.: '40e0d0')
getClosestWebColor()
Get the name of the closest web color
public getClosestWebColor(array<string|int,
mixed> $col)
: string
Parameters
- $col : array<string|int, mixed>
-
Color as RGB array (keys: 'red', 'green', 'blue')
Return values
string —getColorObj()
Parse the input color string and return the correspondent color Object
public getColorObj(string $color)
:
Model
Parameters
- $color : string
-
String containing web color definition
Tags
Return values
Model —or null in case of transparent color
getColorObject()
Returns a color object from an HTML, CSS or Spot color representation.
public getColorObject(string $color)
: object
Parameters
- $color : string
-
HTML, CSS or Spot color to parse
Return values
object —or null in case of error or if the color is not found
getHexFromName()
Get the color hexadecimal hash code from name
public getHexFromName(string $name)
: string
Parameters
- $name : string
-
Name of the color to search (e.g.: 'turquoise')
Tags
Return values
string —color hexadecimal code (e.g.: '40e0d0ff')
getJsColorString()
Convert color to javascript string
public getJsColorString(string|object $color)
: string
Parameters
- $color : string|object
-
color name or color object
Return values
string —getJsMap()
Return the Js color array of names
public getJsMap()
: array<string|int,
mixed>
Return values
array<string|int, mixed> —getMap()
Get the color map (name => hexhash)
public getMap()
: array<string|int,
mixed>
Return values
array<string|int, mixed> —getNameFromHex()
Get the color name code from hexadecimal hash
public getNameFromHex(string $hex)
: string
Parameters
- $hex : string
-
hexadecimal color hash (i.e. #RRGGBBAA)
Tags
Return values
string —color name
getPdfColor()
Get the color components format used in PDF documents NOTE: the alpha channel is omitted
public getPdfColor(string $color[,
bool $stroke
= false
][,
float $tint
= 1
]) : string
Parameters
- $color : string
-
HTML, CSS or Spot color to parse
- $stroke : bool = false
-
True for stroking (lines, drawing) and false for non-stroking (text and area filling).
- $tint : float = 1
-
Intensity of the color (from 0 to 1; 1 = full intensity).
Return values
string —getPdfRgbComponents()
Get the RGB color components format used in PDF documents
public getPdfRgbComponents(string $color)
: string
Parameters
- $color : string
-
HTML, CSS or Spot color to parse
Return values
string —getPdfSpotObjects()
Returns the PDF command to output Spot color objects.
public getPdfSpotObjects(int &$pon)
: string
Parameters
- $pon : int
-
Current PDF object number
Return values
string —PDF command
getPdfSpotResources()
Returns the PDF command to output Spot color resources.
public getPdfSpotResources()
: string
Return values
string —PDF command
getRgbObjFromHex()
Get the RGB color object from hexadecimal hash
public getRgbObjFromHex(string $hex)
: array<string|int,
mixed>
Parameters
- $hex : string
-
hexadecimal color hash (i.e. #RGB, #RGBA, #RRGGBB, #RRGGBBAA)
Tags
Return values
array<string|int, mixed> —with keys ('red', 'green', 'blue', 'alpha')
getRgbObjFromName()
Get the RGB color object from color name
public getRgbObjFromName(string $name)
:
Rgb
Parameters
- $name : string
-
Color name
Tags
Return values
Rgb —object
getRgbSquareDistance()
Get the square of the distance between 2 RGB points
public getRgbSquareDistance(array<string|int,
mixed> $cola,
array<string|int,
mixed> $colb)
: float
Parameters
- $cola : array<string|int, mixed>
-
First color as RGB array
- $colb : array<string|int, mixed>
-
Second color as RGB array
Return values
float —getSpotColor()
Return the requested spot color data array
public getSpotColor(string $name)
: array<string|int,
mixed>
Parameters
- $name : string
-
Full name of the spot color.
Tags
Return values
array<string|int, mixed> —getSpotColorObj()
Return the requested spot color CMYK object
public getSpotColorObj(string $name)
: Cmyk
Parameters
- $name : string
-
Full name of the spot color.
Tags
Return values
Cmyk —getSpotColors()
Returns the array of spot colors.
public getSpotColors()
: array<string|int,
mixed>
Return values
array<string|int, mixed> —Spot colors array.
normalizeSpotColorName()
Return the normalized version of the spot color name
public normalizeSpotColorName(string $name)
: string
Parameters
- $name : string
-
Full name of the spot color.
Return values
string —normalizeValue()
Get the normalized integer value from [0..$max] to [0..1]
public normalizeValue(float $value,
int $max)
: float
Parameters
- $value : float
-
Value to convert
- $max : int
-
Max input value
Return values
float —value [0..1]
getColorObjFromCss()
Get the color object from a CSS color string
protected getColorObjFromCss(string $type,
string $color)
:
Model
Parameters
- $type : string
-
color type: t, g, rgb, rgba, hsl, hsla, cmyk
- $color : string
-
color specification (e.g.: rgb(255,128,64))
Tags
Return values
Model —or null for transparency (default)
getColorObjFromJs()
Get the color object from acrobat Javascript syntax
protected getColorObjFromJs(string $color)
:
Model
Parameters
- $color : string
-
color specification (e.g.: ["RGB",0.1,0.3,1])
Tags
Return values
Model —or null for transparent color
getColorObjFromCssCmyk()
Get the color object from a CSS CMYK color string
private getColorObjFromCssCmyk(string $color)
:
Model
Parameters
- $color : string
-
color specification (e.g.: rgb(255,128,64))
Tags
Return values
Model —getColorObjFromCssGray()
Get the color object from a CSS CMYK color string
private getColorObjFromCssGray(string $color)
:
Model
Parameters
- $color : string
-
color specification (e.g.: rgb(255,128,64))
Tags
Return values
Model —getColorObjFromCssHsl()
Get the color object from a CSS CMYK color string
private getColorObjFromCssHsl(string $color)
:
Model
Parameters
- $color : string
-
color specification (e.g.: rgb(255,128,64))
Tags
Return values
Model —getColorObjFromCssRgb()
Get the color object from a CSS CMYK color string
private getColorObjFromCssRgb(string $color)
:
Model
Parameters
- $color : string
-
color specification (e.g.: rgb(255,128,64))
Tags
Return values
Model —getHexArray()
Get the RGB array from hexadecimal hash
private getHexArray(string $hex)
: array<string|int,
mixed>
Parameters
- $hex : string
-
hexadecimal color hash (i.e. RRGGBBAA)
Return values
array<string|int, mixed> —with keys ('red', 'green', 'blue', 'alpha')