Sophie

Sophie

distrib > Mandriva > 2008.1 > i586 > by-pkgid > 927a1532fb070c51449654bb68b5bde2 > files > 343

itext-manual-2.0.8-0.0.2mdv2008.1.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>iText Tutorial: Colors</title><meta name="Description" content="Colors, Transparency, Spotcolors, Patterns and Shading."><meta name="Keywords" content="PDF, JAVA, iText, examples, patterns, shading, transparency, colors, Lowagie, Bruno"><link rel="stylesheet" href="./../../style.css" type="text/css"></head><body><a name="top" class="logo" href="http://www.lowagie.com/iText"><img src="http://www.lowagie.com/iText/images/logo.gif" border="0" alt="iText"></a><h1>Tutorial: iText by Example</h1><h2>Colors</h2><div id="content"><div id="sidebar"><a class="toc" href="./../../index.html#directcontent_colors">
							Table of Contents
						</a><div align="Center" class="small">Best viewed with:<br><script type="text/javascript"><!--
google_ad_client = "pub-0340380473790570";
google_ad_width = 180;
google_ad_height = 60;
google_ad_format = "180x60_as_rimg";
google_cpa_choice = "CAAQyaj8zwEaCIwcWMzeycafKMu293M";
//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div><div class="sidetitle">Sections:</div><ul><li><a href="#inaction">In the book</a></li><li><a href="#device">Device Color spaces</a></li><li><a href="#spotcolors">Separation Color Spaces</a></li><li><a href="#patterns">Patterns</a></li><li><a href="#transparency">Transparency</a></li></ul><br><br><div class="sidetitle">Examples:</div><div class="example"><a class="source" href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/SpotColors.java">SpotColors</a><br><div class="description">Using spotcolors.</div><div class="small">Output:</div><ul><li><a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/spotcolor.pdf">spotcolor.pdf</a></li></ul></div><div class="example"><a class="source" href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/Pattern.java">Pattern</a><br><div class="description">A stencil example (you define a shape and a default color).</div><div class="small">Output:</div><ul><li><a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/pattern.pdf">pattern.pdf</a></li></ul></div><div class="example"><a class="source" href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/Patterns.java">Patterns</a><br><div class="description">Colored patterns.</div><div class="small">Input:</div><ul><li><a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/pngnow.png">pngnow.png</a></li></ul><div class="small">Output:</div><ul><li><a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/patterns.pdf">patterns.pdf</a></li></ul></div><div class="example"><a class="source" href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/Shading.java">Shading</a><br><div class="description">Shading.</div><div class="small">Output:</div><ul><li><a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/shading.pdf">shading.pdf</a></li></ul></div><div class="example"><a class="source" href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/ShadingPattern.java">ShadingPattern</a><br><div class="description">Shading pattern.</div><div class="small">Output:</div><ul><li><a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/shading_pattern.pdf">shading_pattern.pdf</a></li></ul></div><div class="example"><a class="source" href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/Transparency.java">Transparency</a><br><div class="description">Reproducing PLATE 16 on p1053 in the PDF Reference Manual</div><div class="small">Output:</div><ul><li><a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/transparency.pdf">transparency.pdf</a></li></ul></div><div class="example"><a class="source" href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/Groups.java">Groups</a><br><div class="description">Making images transparent.</div><div class="small">Output:</div><ul><li><a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/groups.pdf">groups.pdf</a></li></ul></div><div class="example"><a class="source" href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/SoftMask.java">SoftMask</a><br><div class="description">Making images transparent.</div><div class="small">Input:</div><ul><li><a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/otsoe.jpg">otsoe.jpg</a></li></ul><div class="small">Output:</div><ul><li><a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/softmask.pdf">softmask.pdf</a></li></ul></div><div class="example"><div class="small">ANT script (all examples):</div><ul><li><a href="./../../directcontent/colors/build.xml">
					build.xml
				</a></li></ul></div></div><div id="main"><a name="inaction"></a><div class="title">In the book:</div><div xmlns="http://www.w3.org/1999/xhtml" xmlns:site="http://www.lowagie.com/iText/site">
		<p xmlns=""><a href="http://itext.ugent.be/itext-in-action/"><img src="http://itext.ugent.be/img/lowagie_3d.jpg" border="0" align="right"></a>
			The examples in this free online tutorial will help you getting started
			with iText. Note that most examples are two years old.
			Some of the examples may be obsolete. Also the theory that
			comes with the examples isn't always 100% accurate.
			If you want more recent examples or if you want to know more
			about the theoretical background of	PDF and iText, please consult the book
			<a href="http://itext.ugent.be/itext-in-action/">
				"iText in Action".
			</a>
			Note that the first and the third chapter of the book
			can be downloaded for free from <a href="http://www.manning.com/affiliate/idevaffiliate.php?id=223_53">http://manning.com/lowagie/</a></p><p>
			More specifically:
			<ul><li><a class="subtitle" href="http://itext.ugent.be/itext-in-action/chapter.php?chapter=11">
				Chapter 11:
			</a>Adding color and text</li></ul></p>
		</div><a class="top" href="#top">Go to top of the page</a><a name="device"></a><div class="title">Device Color spaces:</div><div xmlns="http://www.w3.org/1999/xhtml">
In the chapter on Graphics, we already discussed methods such as
<a xmlns="" href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfContentByte.html#setRGBColorFill(int,%20int,%20int)">setRGBColorFill/Stroke</a> (Red-Green-Blue),
<a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfContentByte.html#setCMYKColorFill(int,int,%20int,%20int)">setCMYKColorFill/Stroke</a> (Cyan-Magenta-Yellow-Black) and
<a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfContentByte.html#setGrayFill(float)">setGrayFill/Stroke</a> (grayscale).
With those methods, you can change to color that is used to fill or stroke paths.
Those methods also change the color space automatically to DeviceRGB, DeviceCMYK or DeviceGray.
These are <i xmlns="http://www.w3.org/1999/xhtml">device color spaces</i>; they directly specify colors or shades of gray
that the output device is to produce.<br>
In PDF, a lot of other color spaces are possible. Not all of the PDF functionality is supported in iText.
If you need a more specialized feature and you don't find it here, you should post a question
to the mailing-list to see if it's already implemented in iText. If you need functionality
such as transparancy, spotcolor, pantone, patterns or shading, just scroll down this page and you'll find
lots of examples.
</div><a class="top" href="#top">Go to top of the page</a><a xmlns="" name="spotcolors"></a><div class="title">Separation Color Spaces:</div><div xmlns="http://www.w3.org/1999/xhtml">
PDF Reference Manual p234:
<blockquote>
Color output devices produce full color by combining primary or process colorants
in varying amounts. On an additive color device such as a display, the primary
colorants consist of red, green, and blue phosphors; on a subtractive device such
as a printer, they typically consist of cyan, magenta, yellow, and sometimes black inks.
In addition some devices can apply special colorants, often called <i>spot colorants</i>,
to produce effects that can not be achieved with the standard process colorants alone.
Examples include metallic and fluorescent colors and special textures.<br>
When printing a page, most devices produce a single <i>composite</i> page
on which all process colorants (and spot colorants, if any) are combined.
However, some devices, such as imagesetters, produce a separate, monochromatic rendition
of the page, called a <i>separation</i>, for each colorant. When the separations are later
combined - on a printing process, for example - and the proper inks or colorants are applied
to them, the result is a full-color page.<br>
A <i>separation color space</i> provides a means for specifying the use of additional
colorants or for isolating the control of individual color components of a device color space
for a subtractive device. When such a space is the current color space, the current
color is a single-component value, called a <i>tint</i>, that controls the application
of the given colorant or color components only.</blockquote>
In iText, you can create SpotColors with the
<a xmlns="" href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfSpotColor.html">PdfSpotColor</a> class.
You need to give a name to the color, a tint and an alternative color space value.
For this last parameter, the class <a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/ExtendedColor.html">ExtendedColor</a> was created.
It extends java.awt.Color. If you want to create a PdfSpotColor with RGB as alternative color space,
use java.awt.Color. If you want CMYK, use <a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/CMYKColor.html">CMYKColor</a>
which extends ExtendedColor. Use <a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/GrayColor.html">GrayColor</a> if you want grayscale.<br xmlns="http://www.w3.org/1999/xhtml">
These PdfSpotColors can be used with the
<a xmlns="" href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfContentByte.html#setColorFill(com.lowagie.text.pdf.PdfSpotColor,%20float)">PdfContentByte.setColorFill/Stroke</a> methods.
If you want to use a PdfSpotColor for high level objects, you have to use the
<a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/SpotColor.html">SpotColor</a> class.
<div id="example">
					Example: java
					<a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/SpotColors.java">
						com.lowagie.examples.directcontent.colors.SpotColors</a><br>Using spotcolors.: see
						 <a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/spotcolor.pdf">spotcolor.pdf</a><br></div>
</div><a class="top" href="#top">Go to top of the page</a><a name="patterns"></a><div class="title">Patterns:</div><div xmlns="http://www.w3.org/1999/xhtml">
When stroking or filling a path, we always used a single color. However, it is also
possible to apply <i>paint</i> that consists of a repeating graphical figure or a smoothly varying color gradient
instead of a simple color. Such a repeating figure or smooth gradient is called a <i>pattern</i>.
<div class="subtitle">Tiling patterns</div>
See PDF Reference Manual version 1.6 section 4.6.2 (p261)
<blockquote>A <i>tiling pattern</i> consists of a small graphical figure called a
<i>pattern cell</i>. Painting with the pattern replicates the cell at fixed horizontal
and vertical intervals to fill an area. The effect is as if the figure were painted
on the surface of a clear glass tile, identical copies of which were then laid down in
an array covering the area and trimmed to its boundaries. This process is called tiling
the area.</blockquote>
We distinguish two kinds of tiling patterns: <i>colored tiling patterns</i> and <i>uncolored tiling patterns</i>.<br>
A colored tiling pattern is a pattern who's color is self-contained.
When the content stream begins, the current color is the one that was
initially in effect in the pattern's parent content stream. In the course of
painting the pattern cell, the pattern's content stream explicitly sets the color of
each graphical element it paints (a pattern cell can contain elements that are painted in different colors).<br>
An uncolored tiling pattern is a pattern that has no inherent color: the color must be
specified separately whenever the pattern is used. The content stream describes
a <i>stencil</i> through which the color is to be poured.<br>
In iText, you create a <a xmlns="" href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfPatternPainter.html">PdfPatternPainter</a> with one
of the differen createPattern methods in PdfContentByte. When you specify a default color, the pattern is automatically a 'stencil' pattern.
As an uncolored tiling pattern has no color of its own, so you have to define a default color. This color may be null if you plan to define the color
each time you invoke setPatternFill.<br xmlns="http://www.w3.org/1999/xhtml">
In short, these are the methods you are going to use to create a <a xmlns="" href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfPatternPainter.html">PdfPatternPainter</a>:
<a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfContentByte.html#createPattern(float,%20float)">createPattern(float, float)</a> (colored pattern, just defining a width and a height, the horizontal and vertical intervals are equal to width and height),
<a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfContentByte.html#createPattern(float,%20float,%20java.awt.Color)">createPattern(float, float, java.awt.Color)</a> (uncolored pattern, defining a width and a height and the default color for the uncolored pattern),
<a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfContentByte.html#createPattern(float,%20float,%20float,%20float)">createPattern(float, float, float, float)</a> (colored pattern, defining a width, a height and the horizontal/vertical interval) and
<a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfContentByte.html#createPattern(float,%20float,%20float,%20float,%20java.awt.Color)">createPattern(float, float, float, float, java.awt.Color)</a> (uncolored pattern).<br xmlns="http://www.w3.org/1999/xhtml">
Once you have a <a xmlns="" href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfPatternPainter.html">PdfPatternPainter</a> object, you can use it in the different
<a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfWriter.html#setPatternFill(com.lowagie.text.pdf.PdfPatternPainter)">setPatternFill</a>/<a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfWriter.html#setPatternStroke(com.lowagie.text.pdf.PdfPatternPainter)">setPatternStroke</a> methods.
As was the case with spot colors, you can also use a class extending <a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/ExtendedColor.html">ExtendedColor</a>
to use a pattern as color for high level objects: <a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PatternColor.html">PatternColor</a>.
<div id="example">
					Example: java
					<a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/Pattern.java">
						com.lowagie.examples.directcontent.colors.Pattern</a><br>A stencil example (you define a shape and a default color).: see
						 <a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/pattern.pdf">pattern.pdf</a><br></div>
<div id="example">
					Example: java
					<a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/Patterns.java">
						com.lowagie.examples.directcontent.colors.Patterns</a><br>Colored patterns.: see
						 <a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/patterns.pdf">patterns.pdf</a><br>
						External resources for this example:
						 <a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/pngnow.png">pngnow.png</a><br></div>
<div xmlns="http://www.w3.org/1999/xhtml" class="subtitle">Shading patterns</div>
See PDF Reference Manual version 1.6 section 4.6.3 (p272)
<blockquote><i>Shading patterns</i> provide a smooth transition between colors and across an area
to be painted, independent of the resolution of any particular output device and without
specifying the number of steps in the color transition.</blockquote>
There are different types of shading. Check the API of
<a xmlns="" href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfShading.html">PdfShading</a>
if you want to know how to construct a Shading object that can be used to paint a path
with method <a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfContentByte.html#paintShading(com.lowagie.text.pdf.PdfShading)">paintShading(com.lowagie.text.pdf.PdfShading)</a>
(this paints the path, so you don't have to call <a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfContentByte.html#fill()">fill()</a> or <a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfContentByte.html#stroke()">stroke()</a>).
<div id="example">
					Example: java
					<a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/Shading.java">
						com.lowagie.examples.directcontent.colors.Shading</a><br>Shading.: see
						 <a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/shading.pdf">shading.pdf</a><br></div>
You can also create a <a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfShadingPattern.html">PdfShadingPattern</a>.
This can be used to paint a path (<a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfContentByte.html#paintShading(com.lowagie.text.pdf.PdfShadingPattern)">paintShading(com.lowagie.text.pdf.PdfShadingPattern)</a>),
but also to set a fill or stroke color:
<a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfContentByte.html#setShadingFill(com.lowagie.text.pdf.PdfShadingPattern)">setShadingFill(com.lowagie.text.pdf.PdfShadingPattern)</a>/<a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfContentByte.html#setShadingStroke(com.lowagie.text.pdf.PdfShadingPattern)">setShadingStroke(com.lowagie.text.pdf.PdfShadingPattern)</a>.
<div id="example">
					Example: java
					<a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/ShadingPattern.java">
						com.lowagie.examples.directcontent.colors.ShadingPattern</a><br>Shading pattern.: see
						 <a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/shading_pattern.pdf">shading_pattern.pdf</a><br></div>
Again there's a class extending <a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/ExtendedColor.html">ExtendedColor</a>
to use a shading pattern as color for high level objects: <a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/ShadingColor.html">ShadingColor</a>.
</div><a class="top" href="#top">Go to top of the page</a><a name="transparency"></a><div class="title">Transparency:</div><div xmlns="http://www.w3.org/1999/xhtml">
There's a complete chapter on Transparency in the PDF Reference manual (Chapter 7, p483).
If you take a look at the <a xmlns="" href="./../../directcontent/index.html#pdfcontentbyte">iText approach</a> of adding content,
you see you can add content to a top layer to cover content in a lower layer or vice-versa.
Since PDF 1.4 however, <i xmlns="http://www.w3.org/1999/xhtml">overlapping</i> content doesn't necessarily mean <i>covering</i> the content that is below (covering in the sense of making it disappear).
With version 1.4 of the PDF specs, the <i>Transparent Imaging Model</i> was introduced, which means you
can now have all of the 'layers' contributing to what is actually shown on a page.<br>
The following image was copied from the PDF Reference Manual (p1053):
<img xmlns="" border="0" src="./../../images/transparency.gif" alt="Transparency"><br xmlns="http://www.w3.org/1999/xhtml">
As you can see, there are 4 squares with a half in gray and a half in white.
This is called the <i>backdrop</i> (the stack of all objects that have been specified previously).
After adding these squares, some colored circles were added. In the first square, they were added
without using any transparency. The blue circle covers the yellow one, which covers the red one.<br>
In the second square, we changed the fill <i>opacity</i> to 0.5. Now you see the circles are blending.
You also see the backdrop shining through.<br>
In the third square, the circles are in the same <i>transparency group</i>. Within their group, the objects are
painted with the default opacity (1 = no opacity). The group is painted with opacity 0.5.
So as you see, the blue circle covers, the yellow one, which covers the red one; but when they are
adding above the square, the gray half is blended with the group of circles.<br>
In the fourth square, the circles in the group have an opacity of 0.5, so the colors composite with each other.
The group is added on top of the backdrop with an opacity of 1, but in a different <i>blend mode</i>.
<div id="example">
					Example: java
					<a xmlns="" href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/Transparency.java">
						com.lowagie.examples.directcontent.colors.Transparency</a><br>Reproducing PLATE 16 on p1053 in the PDF Reference Manual: see
						 <a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/transparency.pdf">transparency.pdf</a><br></div>
Chapter 7 in the PDF Reference Manual gives you all the different <i xmlns="http://www.w3.org/1999/xhtml">blend modes</i> (in iText, you
can set them by using the <a xmlns="" href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfGState.html#setBlendMode(com.lowagie.text.pdf.PdfName)">PdfGState.setBlendMode</a>;
see also the chapter on the <a href="./../../directcontent/graphics/index.html#parameters">Graphics State</a>,
where you will find a list of all the available blendmodes). Transparancy groups settings are set with
<a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfTransparencyGroup.html#setIsolated(boolean)">PdfTransparencyGroup.setIsolated</a> (determining the initial backdrop against which its stack is composited) and
<a href="http://itext.ugent.be/library/api/com/lowagie/text/pdf/PdfTransparencyGroup.html#setKnockout(boolean)">PdfTransparencyGroup.setKnockout</a> (determining whether the objects within the stack are composited with one another or only with the group's backdrop.).
<div id="example">
					Example: java
					<a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/Groups.java">
						com.lowagie.examples.directcontent.colors.Groups</a><br>Making images transparent.: see
						 <a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/groups.pdf">groups.pdf</a><br></div>
Another nice example of applying the Transparent Imaging Model, is the use of an Image as <i xmlns="http://www.w3.org/1999/xhtml">soft mask</i>.
<div id="example">
					Example: java
					<a xmlns="" href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/SoftMask.java">
						com.lowagie.examples.directcontent.colors.SoftMask</a><br>Making images transparent.: see
						 <a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/softmask.pdf">softmask.pdf</a><br>
						External resources for this example:
						 <a href="http://itext.ugent.be/library/com/lowagie/examples/directcontent/colors/otsoe.jpg">otsoe.jpg</a><br></div>
</div><a class="top" href="#top">Go to top of the page</a><div id="footer" xmlns="http://www.w3.org/1999/xhtml">
			Page Updated: 2006/09/17 10:13:48
			Copyright &copy; 1999-2005
			Bruno Lowagie<br><a href="http://www.lowagie.com/iText/">iText</a> is a Free Java-Pdf library by Bruno Lowagie and Paulo Soares.
		</div></div></div><div class="commercial"><br><script type="text/javascript"><!--
google_ad_client = "pub-0340380473790570";
google_ad_width = 120;
google_ad_height = 600;
google_ad_format = "120x600_as";
google_ad_channel ="";
google_ad_type = "text_image";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "1B09BD";
google_color_url = "100670";
google_color_text = "707070";
//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script><br><br><div class="subtitle">Amazon books:</div><script type="text/javascript"><!--
document.write('<iframe src="http://rcm.amazon.com/e/cm?t=itisacatalofwebp&o=1&p=8&l=as1&asins=1932394796&fc1=000000&lc1=0000ff&bc1=&lt1=_blank&IS2=1&bg1=ffffff&f=ifr" width="120" height="240" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" align="Center"></iframe>');
//--></script><a xmlns="" href="http://www.amazon.co.uk/exec/obidos/ASIN/1932394796/catloogjecom-21" class="amazonlinks">
			amazon.co.uk-link
		</a><br><br><script type="text/javascript"><!--
document.write('<iframe src="http://rcm.amazon.com/e/cm?t=itisacatalofwebp&o=1&p=8&l=as1&asins=0321304748&fc1=000000&lc1=0000ff&bc1=&lt1=_blank&IS2=1&bg1=ffffff&f=ifr" width="120" height="240" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" align="Center"></iframe>');
//--></script><a href="http://www.amazon.co.uk/exec/obidos/ASIN/0321304748/catloogjecom-21" class="amazonlinks">
			amazon.co.uk-link
		</a><br><br><script type="text/javascript"><!--
document.write('<iframe src="http://rcm.amazon.com/e/cm?t=itisacatalofwebp&o=1&p=10&l=st1&mode=books&search=PDF&=1&fc1=&lc1=&lt1=&bg1=&f=ifr" width="120" height="460" border="0" frameborder="0" style="border:none;" scrolling="no" marginwidth="0" marginheight="0"></iframe>');
//--></script><br><script type="text/javascript"><!--
document.write('<iframe src="http://rcm.amazon.com/e/cm?t=itisacatalofwebp&o=1&p=10&l=st1&mode=books&search=Colors&=1&fc1=&lc1=&lt1=&bg1=&f=ifr" width="120" height="460" border="0" frameborder="0" style="border:none;" scrolling="no" marginwidth="0" marginheight="0"></iframe>');
//--></script><br></div></body></html>