/* * This code is free software. It may only be copied or modified * if you include the following copyright notice: * * --> Copyright 2001 by Bruno Lowagie <-- * --> Copyright 2004 by Kazuya Ujihara <-- * * This code is example code of 'iText .NET'. * See http://www.ujihara.jp/iTextdotNET/examples.html * * This code is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ using System; using com.lowagie.text; using com.lowagie.text.pdf; using System.IO; public class Chap0208 : SplitCharacter { public static void Main(String[] args) { Console.WriteLine("Chapter 2 example 8: split character"); // step 1: creation of a document-object Document document = new Document(); // step 2: // we create a writer that listens to the document // and directs a PDF-stream to a file PdfWriter writer = PdfWriter.getInstance(document, new FileStream("Chap0208.pdf", FileMode.Create)); // step 3: we open the document document.open(); // step 4: // we add some content String text = "Some.text.to.show.the.splitting.action.of.the.interface."; Chap0208 split = new Chap0208(); Chunk ck = new Chunk(text, FontFactory.getFont(FontFactory.HELVETICA, 24)); Paragraph p = new Paragraph(24, ck); document.add(new Paragraph("Normal split.")); document.add(p); ck = new Chunk(text, FontFactory.getFont(FontFactory.HELVETICA, 24)); ck.setSplitCharacter(split); p = new Paragraph(24, ck); document.add(new Paragraph("The dot '.' is the split character.")); document.add(p); // step 5: we close the document document.close(); } public bool isSplitCharacter(int start, int current, int end, char[] cc, PdfChunk[] ck) { char c; if (ck == null) c = cc[current]; else c = ck[Math.Min(current, ck.Length - 1)].getUnicodeEquivalent(cc[current]); return (c == '.'); } }