Blog

 
1:   using System;
2:   using System.IO;
3:   using System.util;
4:  
5:   using iTextSharp.text;
6:   using iTextSharp.text.pdf;
7:   using iTextSharp.text.xml;
8:   using System.Collections;
9:   //using iTextSharp.tutorial.Base;
10:  
11:   namespace iTextSharp.tutorial.Chap07
12:   {
13:       /// <summary>
14:       /// Data Merging
15:       /// </summary>
16:       public class Chap0705 
17:       {
18:       
19:           public  Chap0705() 
20:           {
21:           
22:               Console.WriteLine("Chapter 7 example 5: simple database example");
23:           
24:               int 0;
25:               try 
26:               {            
27:                   StreamReader reader new StreamReader(new FileStream("simpleDB0705.txt"FileMode.Open));
28:               
29:                   String line;
30:                   while ((line reader.ReadLine()) != null
31:                   {
32:                       
33:                       Hashtable tagmap new Hashtable();
34:                       
35:                       StringTokenizer tokenizer new StringTokenizer(line"|");
36:                   
37:                       XmlPeer peer new XmlPeer(ElementTags.ITEXT"letter");
38:                       tagmap.Add(peer.Aliaspeer);
39:                       
40:                       if (tokenizer.HasMoreTokens()) 
41:                       {
42:                           peer new XmlPeer(ElementTags.CHUNK"givenname");
43:                           peer.Content tokenizer.NextToken();
44:                           tagmap.Add(peer.Aliaspeer);
45:                       
46:                       }
47:                       if (tokenizer.HasMoreTokens()) 
48:                       {
49:                           peer new XmlPeer(ElementTags.CHUNK"name");
50:                           peer.Content tokenizer.NextToken();
51:                           tagmap.Add(peer.Aliaspeer);
52:                       
53:                       }
54:                       if (tokenizer.HasMoreTokens()) 
55:                       {
56:                           peer new XmlPeer(ElementTags.CHUNK"mail");
57:                           peer.Content tokenizer.NextToken();
58:                           tagmap.Add(peer.Aliaspeer);
59:                       
60:                       }
61:                       if (tokenizer.HasMoreTokens()) 
62:                       {
63:                           peer new XmlPeer(ElementTags.ANCHOR"website");
64:                           String reference tokenizer.NextToken();
65:                           peer.Content reference;
66:                           peer.AddValue(ElementTags.REFERENCEreference);
67:                           peer.AddValue(ElementTags.COLOR"#0000FF");
68:                           tagmap.Add(peer.Aliaspeer);
69:                       
70:                       }
71:                   
72:                       // step 1: creation of a document-object
73:                       Document document new Document(PageSize.A480503065);
74:                   
75:                       // step 2:
76:                       // we create a writer that listens to the document
77:                       PdfWriter.GetInstance(documentnew FileStream("Chap0705_" + (++i) + ".pdf"FileMode.Create));
78:                   
79:                       // step 3: we parse the document
80:                       XmlParser.Parse(document"simpleLetter0705.xml"tagmap);
81:                   }
82:               }
83:               catch(Exception e
84:               {
85:                   Console.Error.WriteLine(e.Message);
86:                   Console.Error.WriteLine(e.StackTrace);
87:               }
88:           }
89:       }
90:   }