Beispiel #1
0
 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;
 }
Beispiel #2
0
 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;
 }
Beispiel #3
0
		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;
		}
Beispiel #4
0
		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;
		}
Beispiel #6
0
        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;
        }
Beispiel #7
0
 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;
 }
Beispiel #8
0
        /// <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);
        }
Beispiel #9
0
		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;
		}
Beispiel #10
0
        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);
        }
Beispiel #11
0
		/// <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;
		}