// step 5: we create some PdfPatternPainter instances for drawing path, text, or placing image
// LwgImage instance to be placed in PdfPatternPainter canvas. Any nice one?
LwgImage img = LwgImage.getInstance("pngnow.png");
PdfPatternPainter p = cb.createPattern(60f, 60f, 60f, 60f);
PdfPatternPainter p1 = cb.createPattern(60f, 60f, 60f, 60f);
PdfPatternPainter p2 = cb.createPattern(img.getScaledWidth(), img.getScaledHeight(), img.getScaledWidth(), img.getScaledHeight());
// step 6: put your drawing instruction in the painter canvas
// A star pattern taken from Adobe PDF Reference Book p.207
String star = "0.3 g\n15.000 27.000 m\n"
+ "7.947 5.292 l\n26.413 18.708 l\n"
+ "3.587 18.708 l\n22.053 5.292 l\nf\n"
+ "45.000 57.000 m\n37.947 35.292 l\n"
+ "56.413 48.708 l\n33.587 48.708 l\n"
+ "52.053 35.292 l\nf\n"
+ "0.7 g\n15.000 57.000 m\n"
+ "7.947 35.292 l\n26.413 48.708 l\n"
+ "3.587 48.708 l\n22.053 35.292 l\nf\n"
+ "45.000 27.000 m\n37.947 5.292 l\n"
+ "56.413 18.708 l\n33.587 18.708 l\n"
+ "52.053 5.292 l\nf";
p.setLiteral(star);
// A Pattern with some text drawing
p1.setGrayFill(0.3f);
p1.setFontAndSize(bf, 12);
p1.beginText();
p1.setTextMatrix(1f, 0f, 0f, 1f, 0f, 0f);
p1.showText("A B C D");
p1.endText();
p1.moveTo(0f, 0f);
p1.lineTo(60f, 60f);
p1.stroke();
p1.sanityCheck();
// A pattern with an image and position
p2.addImage(img, img.getScaledWidth(), 0f, 0f, img.getScaledHeight(), 0f, 0f);
p2.setPatternMatrix(1f, 0f, 0f, 1f, 60f, 60f);
p2.sanityCheck();
// See if we can apply the pattern color to chunk, phrase or paragraph
PatternColor pat = new PatternColor(p);
PatternColor pat1 = new PatternColor(p1);
PatternColor pat2 = new PatternColor(p2);