Java tutorial
import java.io.FileOutputStream; import java.util.HashMap; import java.util.Iterator; import com.lowagie.text.Chunk; import com.lowagie.text.Document; import com.lowagie.text.Font; import com.lowagie.text.Paragraph; import com.lowagie.text.Rectangle; import com.lowagie.text.pdf.PdfPageEventHelper; import com.lowagie.text.pdf.PdfWriter; public class MainClass { public static void main(String[] args) throws Exception { Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("2.pdf")); MyPdfPageEventHelper tracker = new MyPdfPageEventHelper(); writer.setPageEvent(tracker); document.open(); document.add(createParagraph("Fox", "Hello lazy dog.")); document.newPage(); HashMap lines = tracker.getLines(); for (Iterator i = lines.keySet().iterator(); i.hasNext();) { String speaker = (String) i.next(); Integer count = (Integer) lines.get(speaker); document.add(new Paragraph(speaker + ": " + count.intValue() + " lines.")); } document.close(); } private static Paragraph createParagraph(String speaker, String line) { Paragraph p = new Paragraph(18); Chunk s = new Chunk(speaker + ": ", new Font(Font.HELVETICA, 12, Font.BOLD)); s.setGenericTag(speaker); p.add(s); p.add(line); return p; } } class MyPdfPageEventHelper extends PdfPageEventHelper { protected HashMap lines = new HashMap(); public void onGenericTag(PdfWriter writer, Document document, Rectangle rect, String text) { Integer count = (Integer) lines.get(text); if (count == null) { lines.put(text, new Integer(1)); } else { lines.put(text, new Integer(count.intValue() + 1)); } } public HashMap getLines() { return lines; } }