private TextLine DrawLineOnPage(TextLine textLine, Page page) { StringBuilder sb1 = new StringBuilder(); StringBuilder sb2 = new StringBuilder(); String[] tokens = Regex.Split(textLine.GetText(), @"\s+"); bool testForFit = true; for (int i = 0; i < tokens.Length; i++) { String token = tokens[i] + Single.space; if (testForFit && textLine.GetStringWidth((sb1.ToString() + token).Trim()) < this.w) { sb1.Append(token); } else { if (testForFit) { testForFit = false; } sb2.Append(token); } } textLine.SetText(sb1.ToString().Trim()); if (page != null) { textLine.DrawOn(page); } textLine.SetText(sb2.ToString().Trim()); return(textLine); }
public Example_04() { String fileName = "data/happy-new-year.txt"; FileStream fos = new FileStream("Example_04.pdf", FileMode.Create); BufferedStream bos = new BufferedStream(fos); PDF pdf = new PDF(bos); pdf.setCompressor(Compressor.ORIGINAL_ZLIB); Font f1 = new Font( pdf, "AdobeMingStd-Light", // Chinese (Traditional) font CodePage.UNICODE); Font f2 = new Font( pdf, "AdobeSongStd-Light", // Chinese (Simplified) font CodePage.UNICODE); Font f3 = new Font( pdf, "KozMinProVI-Regular", // Japanese font CodePage.UNICODE); Font f4 = new Font( pdf, "AdobeMyungjoStd-Medium", // Korean font CodePage.UNICODE); Page page = new Page(pdf, Letter.PORTRAIT); f1.SetSize(14); f2.SetSize(14); f3.SetSize(14); f4.SetSize(14); double x_pos = 100.0; double y_pos = 20.0; StreamReader reader = new StreamReader( new FileStream(fileName, FileMode.Open)); TextLine text = new TextLine(f1); String line = null; while ((line = reader.ReadLine()) != null) { if (line.IndexOf("Simplified") != -1) { text.SetFont(f2); } else if (line.IndexOf("Japanese") != -1) { text.SetFont(f3); } else if (line.IndexOf("Korean") != -1) { text.SetFont(f4); } text.SetText(line); text.SetPosition(x_pos, y_pos += 24); text.DrawOn(page); } reader.Close(); pdf.Flush(); bos.Close(); }
//------------------------------------------------------------------------------------------- private void DrawText(PDFjet.NET.PDF pdf, PDFjet.NET.Page page, string text, int x, int y) { Font f1 = new Font(pdf, "Helvetica"); f1.SetSize(10); PDFjet.NET.TextLine tLine = new TextLine(f1); tLine.SetText(text); tLine.SetPosition(x, y); //tLine.SetURIAction("http://www.weavver.com/accounting/"); tLine.DrawOn(page); }
public Bookmark AutoNumber(TextLine text) { Bookmark bm = GetPrevBookmark(); if (bm == null) { bm = GetParent(); if (bm.prefix == null) { prefix = "1"; } else { prefix = bm.prefix + ".1"; } } else { if (bm.prefix == null) { if (bm.GetParent().prefix == null) { prefix = "1"; } else { prefix = bm.GetParent().prefix + ".1"; } } else { int index = bm.prefix.LastIndexOf('.'); if (index == -1) { prefix = (Int32.Parse(bm.prefix) + 1).ToString(); } else { prefix = bm.prefix.Substring(0, index) + "."; prefix += (Int32.Parse(bm.prefix.Substring(index + 1)) + 1).ToString(); } } } text.SetText(prefix); title = prefix + " " + title; return(this); }
public Example_05() { FileStream fos = new FileStream("Example_05.pdf", FileMode.Create); BufferedStream bos = new BufferedStream(fos); PDF pdf = new PDF(bos); pdf.setCompressor(Compressor.ORIGINAL_ZLIB); // Before you enable this flag please read README.ZLIB.TXT // in the 'optional' directory. // If PDF/A is not required use Helvetica, TimesRoman or Courier Font f1 = new Font(pdf, "Helvetica"); Page page = new Page(pdf, Letter.PORTRAIT); TextLine text = new TextLine(f1); text.SetPosition(300.0, 300.0); for (int i = 0; i < 360; i += 15) { text.SetTextDirection(i); text.SetUnderline(true); // text.SetStrikeLine(true); text.SetText(" Hello, World -- " + i + " degrees."); text.DrawOn(page); } text = new TextLine(f1, "WAVE AWAY"); text.SetPosition(70.0, 50.0); text.DrawOn(page); f1.SetKernPairs(true); text.SetPosition(70.0, 70.0); text.DrawOn(page); f1.SetKernPairs(false); text.SetPosition(70.0, 90.0); text.DrawOn(page); f1.SetSize(8); text = new TextLine(f1, "-- font.SetKernPairs(false);"); text.SetPosition(150.0, 50.0); text.DrawOn(page); text.SetPosition(150.0, 90.0); text.DrawOn(page); text = new TextLine(f1, "-- font.SetKernPairs(true);"); text.SetPosition(150.0, 70.0); text.DrawOn(page); Point point = new Point(300.0, 300.0); point.SetShape(Point.CIRCLE); point.SetFillShape(true); point.SetColor(RGB.BLUE); point.SetRadius(37.0); point.DrawOn(page); point.SetRadius(25.0); point.SetColor(RGB.WHITE); point.DrawOn(page); pdf.Flush(); bos.Close(); }
public Title SetPrefix(String text) { prefix.SetText(text); return(this); }
public Example_13() { FileStream fos = new FileStream("Example_13.pdf", FileMode.Create); BufferedStream bos = new BufferedStream(fos); PDF pdf = new PDF(bos); pdf.setCompressor(Compressor.ORIGINAL_ZLIB); Font f1 = new Font(pdf, "Helvetica-Bold"); Font f2 = new Font(pdf, "Helvetica"); f1.SetSize(7.0); f2.SetSize(7.0); List<List<Cell>> tableData = new List<List<Cell>>(); StreamReader reader = new StreamReader( new FileStream("data/winter-2009.txt", FileMode.Open)); String line; while (( line = reader.ReadLine()) != null) { List<Cell> row = new List<Cell>(); String[] columns = line.Split(new Char[] {'|'}); for ( int i = 0; i < columns.Length; i++ ) { row.Add(new Cell(f2, columns[i])); } tableData.Add(row); } reader.Close(); Table table = new Table(f1, f2); table.SetData(tableData, Table.DATA_HAS_2_HEADER_ROWS); table.SetPosition(100.0, 50.0); table.setCellMargin(2.0); table.RemoveLineBetweenRows(0, 1); Cell cell3 = table.GetCellAt(1, 1); cell3.border.top = true; cell3 = table.GetCellAt(1, 2); cell3.border.top = true; SetFontForRow(table, 0, f1); SetFontForRow(table, 1, f1); table.AutoAdjustColumnWidths(); List<Cell> column = table.GetColumn(7); for ( int i = 0; i < column.Count; i++ ) { Cell cell = column[i]; cell.SetTextAlignment(Align.CENTER); } column = table.GetColumn(4); for ( int i = 2; i < column.Count; i++ ) { Cell cell = column[i]; try { cell.SetTextAlignment(Align.CENTER); if ( Int32.Parse( cell.GetText()) > 40 ) { cell.SetBgColor( new double[] { 0.0, 0.85, 0.0 } ); } else { cell.SetBgColor( new double[] { 1.0, 1.0, 0.0 } ); } } catch (Exception e) { Console.WriteLine(e); } } Cell cell2 = table.GetCellAt(0, 1); cell2.SetColSpan( 2 ); cell2.SetTextAlignment(Align.CENTER); SetBgColorForRow(table, 0, new double[] { 0.85, 0.85, 0.85 }); SetBgColorForRow(table, 1, new double[] { 0.85, 0.85, 0.85 }); table.SetColumnWidth(3, 10); blankOutColumn(table, 3); table.SetColumnWidth(8, 10); blankOutColumn(table, 8); Page page = new Page(pdf, Letter.PORTRAIT); int numOfPages = table.GetNumberOfPages(page); int pageNumber = 1; while (true) { table.DrawOn(page); TextLine text = new TextLine(f1); text.SetText("Page " + pageNumber++ + " of " + numOfPages); text.SetPosition(300.0, 780.0); text.DrawOn(page); if (!table.HasMoreData()) break; page = new Page(pdf, Letter.PORTRAIT); } pdf.Flush(); bos.Close(); }