using System; using System.IO; using System.util; using iTextSharp.text; using iTextSharp.text.pdf; using iTextSharp.text.xml; public class Chap0705 { public static void Main(String[] args) { Console.WriteLine("Chapter 7 example 5: simple database example"); int i = 0; try { StreamReader reader = new StreamReader(new FileStream("simpleDB0705.txt", FileMode.Open)); String line; while ((line = reader.ReadLine()) != null) { Hashmap tagmap = new Hashmap(); StringTokenizer tokenizer = new StringTokenizer(line, "|"); XmlPeer peer = new XmlPeer(ElementTags.ITEXT, "letter"); tagmap.Add(peer.Alias, peer); if (tokenizer.hasMoreTokens()) { peer = new XmlPeer(ElementTags.CHUNK, "givenname"); peer.Content = tokenizer.nextToken(); tagmap.Add(peer.Alias, peer); } if (tokenizer.hasMoreTokens()) { peer = new XmlPeer(ElementTags.CHUNK, "name"); peer.Content = tokenizer.nextToken(); tagmap.Add(peer.Alias, peer); } if (tokenizer.hasMoreTokens()) { peer = new XmlPeer(ElementTags.CHUNK, "mail"); peer.Content = tokenizer.nextToken(); tagmap.Add(peer.Alias, peer); } if (tokenizer.hasMoreTokens()) { peer = new XmlPeer(ElementTags.ANCHOR, "website"); String reference = tokenizer.nextToken(); peer.Content = reference; peer.addValue(ElementTags.REFERENCE, reference); peer.addValue(ElementTags.COLOR, "#0000FF"); tagmap.Add(peer.Alias, peer); } // step 1: creation of a document-object Document document = new Document(PageSize.A4, 80, 50, 30, 65); // step 2: // we create a writer that listens to the document PdfWriter.getInstance(document, new FileStream("Chap0705_" + (++i) + ".pdf", FileMode.Create)); // step 3: we parse the document XmlParser.Parse(document, "simpleLetter0705.xml", tagmap); } } catch(Exception e) { Console.Error.WriteLine(e.Message); Console.Error.WriteLine(e.StackTrace); } } }