Blog

 
1:   using System;
2:   using System.IO;
3:  
4:   using iTextSharp.text;
5:   using iTextSharp.text.pdf;
6:  
7:   namespace iTextSharp.tutorial.Chap10
8:   {
9:       public class Chap1014 
10:       {
11:       
12:       
13:           public Chap1014() 
14:           {
15:           
16:               Console.WriteLine("Chapter 10 Example 14: colored patterns");
17:           
18:               // step 1: creation of a document-object
19:               Document document = new Document(PageSize.A4, 50, 50, 50, 50);
20:               Document.Compress = false;
21:               try 
22:               {
23:               
24:                   // step 2:
25:                   // we create a writer that listens to the document
26:                   // and directs a PDF-stream to a file
27:                   PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("Chap1014.pdf", FileMode.Create));
28:               
29:                   // step 3: we open the document
30:                   document.Open();
31:               
32:                   // step 4: we add some content
33:                   PdfContentByte cb = writer.DirectContent;
34:                   PdfTemplate tp = cb.CreateTemplate(400, 300);
35:                   PdfPatternPainter pat = cb.CreatePattern(15, 15, null);
36:                   pat.Rectangle(5, 5, 5, 5);
37:                   pat.Fill();
38:                   PdfSpotColor spc_cmyk = new PdfSpotColor("PANTONE 280 CV", 0.25f, new CMYKColor(0.9f, .2f, .3f, .1f));
39:                   SpotColor spot = new SpotColor(spc_cmyk);
40:                   tp.SetPatternFill(pat, spot, .9f);
41:                   tp.Rectangle(0, 0, 400, 300);
42:                   tp.Fill();
43:                   cb.AddTemplate(tp, 50, 50);
44:                   PdfPatternPainter pat2 = cb.CreatePattern(10, 10, null);
45:                   pat2.SetLineWidth(2);
46:                   pat2.MoveTo(-5, 0);
47:                   pat2.LineTo(10, 15);
48:                   pat2.Stroke();
49:                   pat2.MoveTo(0, -5);
50:                   pat2.LineTo(15, 10);
51:                   pat2.Stroke();
52:                   cb.SetLineWidth(1);
53:                   cb.SetColorStroke( new Color(System.Drawing.Color.Black));
54:                   cb.SetPatternFill(pat2, new Color(System.Drawing.Color.Red));
55:                   cb.Rectangle(100, 400, 30, 210);
56:                   cb.FillStroke();
57:                   cb.SetPatternFill(pat2, new Color(System.Drawing.Color.LightGreen));
58:                   cb.Rectangle(150, 400, 30, 100);
59:                   cb.FillStroke();
60:                   cb.SetPatternFill(pat2, new Color(System.Drawing.Color.Blue));
61:                   cb.Rectangle(200, 400, 30, 130);
62:                   cb.FillStroke();
63:                   cb.SetPatternFill(pat2, new GrayColor(0.5f));
64:                   cb.Rectangle(250, 400, 30, 80);
65:                   cb.FillStroke();
66:                   cb.SetPatternFill(pat2, new GrayColor(0.7f));
67:                   cb.Rectangle(300, 400, 30, 170);
68:                   cb.FillStroke();
69:                   cb.SetPatternFill(pat2, new GrayColor(0.9f));
70:                   cb.Rectangle(350, 400, 30, 40);
71:                   cb.FillStroke();
72:               }
73:               catch (Exception de) 
74:               {
75:                   Console.Error.WriteLine(de.Message);
76:                   Console.Error.WriteLine(de.StackTrace);
77:               }
78:               // step 5: we close the document
79:               document.Close();
80:           }
81:       }
82:   }