internal PdfRow(PdfTable owner, int index) { this.owner = owner; this.index = index; this.startRow = index; this.endRow = index; this.startColumn = 0; this.endColumn = this.owner.columns - 1; }
internal PdfColumn(PdfTable owner, int index) { this.owner = owner; this.index = index; this.startColumn = index; this.endColumn = index; this.startRow = 0; this.endRow = this.owner.rows - 1; }
internal PdfColumn(PdfTable owner,int index) { this.owner=owner; this.index=index; this.startColumn=index; this.endColumn=index; this.startRow=0; this.endRow=this.owner.rows-1; }
internal PdfRow(PdfTable owner,int index) { this.owner=owner; this.index=index; this.startRow=index; this.endRow=index; this.startColumn=0; this.endColumn=this.owner.columns-1; }
internal PdfCellRange(PdfTable owner,int startRow,int startColumn,int endRow,int endColumn) { object o=owner.Cell(startRow,startColumn); o=owner.Cell(endRow,endColumn); this.owner=owner; this.startColumn=startColumn; this.startRow=startRow; this.endColumn=endColumn; this.endRow=endRow; }
internal PdfCellRange(PdfTable owner, int startRow, int startColumn, int endRow, int endColumn) { object o = owner.Cell(startRow, startColumn); o = owner.Cell(endRow, endColumn); this.owner = owner; this.startColumn = startColumn; this.startRow = startRow; this.endColumn = endColumn; this.endRow = endRow; }
internal PdfCell(PdfTable owner, int row, int column, ContentAlignment ContentAlignment, Color ForegroundColor, Font Font, double CellPadding) { this.colSpan = 1; this.rowSpan = 1; this.row = row; this.stringFormat = "{0}"; this.transparent = true; this.Font = Font; this.owner = owner; this.column = column; this.ContentAlignment = ContentAlignment; this.foregroundColor = ForegroundColor; this.cellPadding = CellPadding; }
/// <summary> /// Instantiates a new PdfTable setting the default specs. /// </summary> /// <param name="DefaultFont"></param> /// <param name="Rows"></param> /// <param name="Columns"></param> /// <param name="CellPadding"></param> /// <returns></returns> public PdfTable NewTable(Font DefaultFont, int Rows, int Columns, double CellPadding) { if (Rows <= 0) { throw new Exception("Rows must be grater than zero."); } if (Columns <= 0) { throw new Exception("Columns must be grater than zero."); } if (CellPadding < 0) { throw new Exception("CellPadding must be non-negative."); } PdfTable pt = new PdfTable(this, ContentAlignment.TopCenter, DefaultFont, Color.Black, Rows , Columns, CellPadding); pt.header = new PdfTable(this, ContentAlignment.MiddleCenter, DefaultFont, Color.Black, 1 , Columns, CellPadding); return(pt); }
internal PdfCell(PdfTable owner,int row,int column,ContentAlignment ContentAlignment,Color ForegroundColor,Font Font,double CellPadding) { this.colSpan=1; this.rowSpan=1; this.row=row; this.stringFormat="{0}"; this.transparent=true; this.Font=Font; this.owner=owner; this.column=column; this.ContentAlignment=ContentAlignment; this.foregroundColor=ForegroundColor; this.cellPadding=CellPadding; }
public static Stream ListToPdf(object list, Dictionary <string, string> titles, bool IsExportAllCol) { DataTable dt = ListToDataTable(list, titles, IsExportAllCol, string.Empty); var pdfTitle = dt.TableName; // Starting instantiate the document. // Remember to set the Docuement Format. In this case, we specify width and height. PdfDocument myPdfDocument = new PdfDocument(PdfDocumentFormat.InCentimeters(21, 29.7)); // Now we create a Table of 100 lines, 6 columns and 4 points of Padding. PdfTable myPdfTable = myPdfDocument.NewTable(new Font("Arial", 12), dt.Rows.Count, dt.Columns.Count, 4); // Importing datas from the datatables... (also column names for the headers!) //myPdfTable.ImportDataTable(Table); myPdfTable.ImportDataTable(dt); // Sets the format for correct date-time representation //myPdfTable.Columns[2].SetContentFormat("{0:dd/MM/yyyy}"); // Now we set our Graphic Design: Colors and Borders... myPdfTable.HeadersRow.SetColors(Color.White, Color.Navy); myPdfTable.SetColors(Color.Black, Color.White, Color.Gainsboro); myPdfTable.SetBorders(Color.Black, 1, BorderType.CompleteGrid); //// With just one method we can set the proportional width of the columns. //// It's a "percentage like" assignment, but the sum can be different from 100. //myPdfTable.SetColumnsWidth(new int[] { 5, 25, 16, 20, 20, 15 }); //// You can also set colors for a range of cells, in this case, a row: //myPdfTable.Rows[7].SetColors(Color.Black, Color.LightGreen); // Now we set some alignment... for the whole table and then, for a column. myPdfTable.SetContentAlignment(ContentAlignment.MiddleCenter); myPdfTable.Columns[1].SetContentAlignment(ContentAlignment.MiddleLeft); // Here we start the loop to generate the table... while (!myPdfTable.AllTablePagesCreated) { // we create a new page to put the generation of the new TablePage: PdfPage newPdfPage = myPdfDocument.NewPage(); PdfTablePage newPdfTablePage = myPdfTable.CreateTablePage(new PdfArea(myPdfDocument, 48, 120, 500, 670)); // we also put a Label PdfTextArea pta = new PdfTextArea(new Font("Arial", 26, FontStyle.Bold), Color.Red , new PdfArea(myPdfDocument, 0, 20, 595, 120), ContentAlignment.MiddleCenter, pdfTitle); // nice thing: we can put all the objects in the following lines, so we can have // a great control of layer sequence... newPdfPage.Add(newPdfTablePage); newPdfPage.Add(pta); // we save each generated page before start rendering the next. newPdfPage.SaveToDocument(); } //myPdfDocument.SaveToFile("Example1.pdf"); var stream = new MemoryStream(); myPdfDocument.SaveToStream(stream); return(stream); }
/// <summary> /// Instantiates a new PdfTable setting the default specs. /// </summary> /// <param name="DefaultFont"></param> /// <param name="Rows"></param> /// <param name="Columns"></param> /// <param name="CellPadding"></param> /// <returns></returns> public PdfTable NewTable(Font DefaultFont,int Rows,int Columns,double CellPadding) { if (Rows<=0) throw new Exception("Rows must be grater than zero."); if (Columns<=0) throw new Exception("Columns must be grater than zero."); if (CellPadding<0) throw new Exception("CellPadding must be non-negative."); PdfTable pt=new PdfTable(this,ContentAlignment.TopCenter,DefaultFont,Color.Black,Rows ,Columns,CellPadding); pt.header=new PdfTable(this,ContentAlignment.MiddleCenter,DefaultFont,Color.Black,1 ,Columns,CellPadding); return pt; }