private static void setFooter(PdfDocument PdfDocument, PdfPage PdfPage, Entrada oE) { int lblPositionY = 700; PdfTextArea taTransportista = new PdfTextArea(new Font("Verdana", 13, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 20, lblPositionY, 200, 90), ContentAlignment.TopLeft, "--------------------------------------------\nNombre y firma del Transportista Acepto los términos de recepci\\363n y estado de los bultos del presente embarque revisado en mi presencia"); PdfPage.Add(taTransportista); PdfTextArea taAlmacenista = new PdfTextArea(new Font("Verdana", 13, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 255, lblPositionY - 15, 200, 15), ContentAlignment.TopLeft, oE.PUsuario.Nombre); PdfPage.Add(taAlmacenista); PdfTextArea taSignAlmacenista = new PdfTextArea(new Font("Verdana", 13, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 255, lblPositionY, 200, 90), ContentAlignment.TopLeft, "--------------------------------------\nNombre y firma de Almacén."); PdfPage.Add(taSignAlmacenista); PdfTextArea taVigilancia = new PdfTextArea(new Font("Verdana", 13, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 470, lblPositionY - 15, 200, 15), ContentAlignment.TopLeft, oE.Vigilante); PdfPage.Add(taVigilancia); PdfTextArea taSignVigilancia = new PdfTextArea(new Font("Verdana", 13, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 470, lblPositionY, 200, 90), ContentAlignment.TopLeft, "---------------------------\nVIGILANCIA CASC."); PdfPage.Add(taSignVigilancia); }
private void AddTextoPrincipal(PdfPage page) { var text = new PdfTextArea( Function_Library.FontTexto11, Color.Black, new PdfArea(pdfDocument, 80, 650, 450, 80), ContentAlignment.MiddleLeft, PDF_Resources.TextoPrincipal); page.Add(text); }
private void AddTitulosDatosPersonales(int x, int y, PdfPage page) { var text_tituloDatosPaciente = new PdfTextArea( Function_Library.FontTituloDatosPersonales, Color.Black, new PdfArea(pdfDocument, x, y, 150, 20), ContentAlignment.MiddleLeft, PDF_Resources.Title_DatosPersonales); var underline = new PdfLine(pdfDocument, new PointF(x, y + 15), new PointF(225, y + 15), Color.Black, 1); page.Add(text_tituloDatosPaciente); page.Add(underline); }
private static void setHeader(PdfDocument PdfDocument, PdfPage PdfPage, Entrada oE) { PdfTextArea taBodega = new PdfTextArea(new Font("Verdana", 24, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 0, 20, 590, 65), ContentAlignment.MiddleRight, "Bodega: " + oE.PBodega.Nombre + "\nCortina: " + oE.PCortina.Nombre); PdfPage.Add(taBodega); PdfTextArea taTitleEntrada = new PdfTextArea(new Font("Verdana", 24, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 0, 70, 590, 30), ContentAlignment.MiddleCenter, "Entrada de Almacén"); PdfPage.Add(taTitleEntrada); PdfTextArea taFolio = new PdfTextArea(new Font("Verdana", 18, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 0, 105, 590, 20), ContentAlignment.MiddleRight, "Folio: " + oE.Folio + oE.Folio_indice); PdfPage.Add(taFolio); }
private void AddConclusiones(int y, PdfPage page) { var text = new PdfTextArea( Function_Library.FontTitulo, Color.Black, new PdfArea(pdfDocument, 80, y, 450, 20), ContentAlignment.MiddleLeft, PDF_Resources.Title_Conclusiones); page.Add(text); var textConlusiones = new PdfTextArea( Function_Library.FontTexto11, Color.Black, new PdfArea(pdfDocument, 80, y + 10, 450, 80), ContentAlignment.MiddleLeft, this.datos.Orientaciones.Conclusiones); page.Add(textConlusiones); }
private void AddLeyenda(int yPos, PdfPage page, params string[] leyendas) { var colores = new[] { FunctionLibrary.ChartBarColorBlue, FunctionLibrary.ChartBarColorRed, FunctionLibrary.ChartBarColorGreen }; for (int i = 0; i < leyendas.Length && i < 3; i++) { var lArea = new PdfArea(pdfDocument, 410, yPos + i * 15, 5, 5); var r = new PdfRectangle(pdfDocument, lArea, colores[i], 1, colores[i]); var text = new PdfTextArea( Function_Library.FontTexto09, Color.Black, new PdfArea(pdfDocument, 425, (yPos - 2) + i * 15, 100, 20), ContentAlignment.TopLeft, leyendas[i]); page.Add(r); page.Add(text); } }
public void GenerateUsingText(string saveAs, RichTextBox inText) { try { PdfDocument myPdfDocument = new PdfDocument(PdfDocumentFormat.InCentimeters(21, 29.7)); PdfImage LogoImage = myPdfDocument.NewImage(@"logo.jpg"); PdfPage newPdfPage = null; int lineNo = 1; string text = ""; PdfTextArea ptasubtext = null; for (int i = 0; i < inText.Lines.Length; i++, lineNo++) { if (i % 50 == 0) { newPdfPage = myPdfDocument.NewPage(); lineNo = 1; } text += "\n" + inText.Lines[i]; if (i % 50 == 0 && i != 0) { newPdfPage.Add(LogoImage, 15, 10, 100); ptasubtext = new PdfTextArea(new Font("Verdana", 12, FontStyle.Bold), Color.Black , new PdfArea(myPdfDocument, 18, 120, 400, 930), ContentAlignment.TopLeft, text); newPdfPage.Add(ptasubtext); newPdfPage.SaveToDocument(); text = ""; } } newPdfPage = myPdfDocument.NewPage(); newPdfPage.Add(LogoImage, 15, 10, 100); ptasubtext = new PdfTextArea(new Font("Verdana", 12, FontStyle.Bold), Color.Black , new PdfArea(myPdfDocument, 18, 120, 400, 930), ContentAlignment.TopLeft, text); newPdfPage.Add(ptasubtext); newPdfPage.SaveToDocument(); myPdfDocument.SaveToFile(saveAs); MessageBox.Show("PDF Saved.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { } }
private void ProcessTextField(PdfPage page, Com.Delta.Print.Engine.TextField textField) { try { //PdfArea area = new PdfArea(pdfDocument, Convert(textField.X), Convert(textField.Y), Convert(textField.Width), Convert(textField.Height)); PdfArea area = new PdfArea(pdfDocument, Convert(textField.Bounds.X), Convert(textField.Bounds.Y), Convert(textField.Bounds.Width), Convert(textField.Bounds.Height)); if ((textField.BorderWidth > 0 && textField.BorderColor != Color.Transparent) || textField.BackgroundColor != Color.Transparent) { PdfRectangle border = new PdfRectangle(pdfDocument, area, textField.BorderColor, textField.BorderWidth, textField.BackgroundColor); page.Add(border); } string content = textField.CurrentText.Replace("\r", ""); if (content != String.Empty) { //PdfArea textArea = new PdfArea(pdfDocument, Convert(textField.X + textField.Padding), Convert(textField.Y + textField.Padding), Convert(textField.Width - 2*textField.Padding), Convert(textField.Height - 2*textField.Padding)); PdfArea textArea = new PdfArea(pdfDocument, Convert(textField.Bounds.X + textField.Padding), Convert(textField.Bounds.Y + textField.Padding), Convert(textField.Bounds.Width - 2 * textField.Padding), Convert(textField.Bounds.Height - 2 * textField.Padding)); float ratio = 96f / textField.Section.Document.GetGraphics().DpiX; PdfTextArea pdfTextArea = new PdfTextArea(textField.Font, textField.ForegroundColor, textArea, GetTextHorizontalAlignment(textField.TextAlignment), GetTextVerticalAlignment(textField.TextVerticalAlignment), content, textField.TextOrientation == TextField.Orientation.Vertical); pdfTextArea.Underline = textField.Font.Underline; pdfTextArea.SetFontRatio(ratio); pdfTextArea.SetLineSpacing(Convert(textField.Spacing)); if (textField.TextAlignment == TextField.TextAlignmentType.Justified) { pdfTextArea.SetJustification(textField.Justification); } page.Add(pdfTextArea); } } catch (Exception e) {} }
private void AddDatosPersonales(int x, int y, PdfPage page) { const int linespace = 20; var tags = new[] { string.Format(PDF_Resources.DP_NombreFormat, this.datos.Paciente.Nombre, this.datos.Paciente.Apellido1, this.datos.Paciente.Apellido2), string.Format(PDF_Resources.DP_FechaNacimientoFormat, this.datos.Paciente.Fecha_Nacimiento.ToShortDateString()), string.Format(PDF_Resources.DP_EdadFormat, this.datos.Paciente.Edad), string.Format(PDF_Resources.DP_SexoFormat, this.datos.Paciente.Sexo), string.Format(PDF_Resources.DP_NivelFormat, this.datos.Paciente.Escolaridad), string.Format(PDF_Resources.DP_FechaAplicacionFormat, datos.CastResultadoForResultadoAS.Fecha.ToShortDateString()) }; for (int i = 0; i < tags.Length; i++) { var text = new PdfTextArea( Function_Library.FontTexto11, Color.Black, new PdfArea(pdfDocument, x, y + i * linespace, 450, 20), ContentAlignment.MiddleLeft, tags[i]); page.Add(text); } }
private void AddGraficoPercentiles(int y, PdfPage page) { var text = new PdfTextArea( Function_Library.FontTitulo, Color.Black, new PdfArea(pdfDocument, 80, y, 450, 20), ContentAlignment.MiddleCenter, PDF_Resources.Title_GraficosResultadosGenerales); page.Add(text); var chart = new Ar_Chart(ChartReportClass.PERCENTILES, 1000, 650, datos.TNotaciones.ChR_TNotaciones); PdfImage grafico = Function_Library.ToPDFImage(chart.ToBinary(), pdfDocument); if (grafico != null) { page.Add(grafico, 55, y + 25, 170); } var lArea = new PdfArea(pdfDocument, 55, y + 20, 490, 280); var r = new PdfRectangle(pdfDocument, lArea, Color.LightGray); page.Add(r); }
private void AddGraficoErrores(int y, PdfPage page) { var text = new PdfTextArea( Function_Library.FontTitulo, Color.Black, new PdfArea(pdfDocument, 80, y, 450, 20), ContentAlignment.MiddleCenter, PDF_Resources.Title_GraficoErrores); page.Add(text); var chart = new Ar_Chart(ChartReportClass.ERRORES, 1000, 600, datos.ChR_Errores); PdfImage grafico = Function_Library.ToPDFImage(chart.ToBinary(), pdfDocument); if (grafico != null) { page.Add(grafico, 55, y + 25, 200); } AddLeyenda(y + 95, page, PDF_Resources.Leyend_EComision, PDF_Resources.Leyend_EOmision, PDF_Resources.Leyend_IA); var lArea = new PdfArea(pdfDocument, 55, y + 20, 490, 250); var r = new PdfRectangle(pdfDocument, lArea, Color.LightGray); page.Add(r); }
private static void setBody(PdfDocument PdfDocument, PdfPage PdfPage, Entrada oE) { int lblPositionY = 135; int lblMarginY = 30; int lblWidth = 500; PdfTextArea taFecha = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "Fecha: " + oE.Fecha.ToString("dd MMM yy").ToUpper() + " Hora: " + oE.Hora); PdfPage.Add(taFecha); lblPositionY += lblMarginY; PdfTextArea taCliente = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "Cliente: " + oE.PCliente.Razon); PdfPage.Add(taCliente); string pedimento = "N.A."; if (oE.PLstEntDoc.Exists(p => p.Id_documento == 1)) { pedimento = oE.PLstEntDoc.Find(p => p.Id_documento == 1).Referencia; } lblPositionY += lblMarginY; PdfTextArea taPedimento = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "Pedimento: " + pedimento); PdfPage.Add(taPedimento); //string strPlaca = string.Empty; //if (string.Compare(oE.Placa, "N.A.") != 0) //{ // strPlaca = ", Placa: " + oE.Placa; // if (string.Compare(oE.Caja1, "N.A.") != 0) // { // strPlaca += ", Caja 1: " + oE.Caja1; // if (string.Compare(oE.Caja2, "N.A.") != 0) // strPlaca += ", Caja2: " + oE.Caja2; // } //} //lblPositionY += lblMarginY; //PdfTextArea taTransporte = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black // , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "Transporte: " + oE.PTransporte.Nombre + strPlaca); //PdfPage.Add(taTransporte); //lblPositionY += lblMarginY; //PdfTextArea taTipoTransporte = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black // , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "Tipo de transporte: " + oE.PTransporteTipo.Nombre); //PdfPage.Add(taTipoTransporte); lblPositionY += lblMarginY; PdfTextArea taTalon = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "Tal\\363n: " + (oE.Talon.Length == 0 ? "N.A." : oE.Talon) + "Sello: " + (oE.Sello.Length == 0 ? "N.A." : oE.Sello)); PdfPage.Add(taTalon); lblPositionY += lblMarginY; PdfTextArea taCustodia = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "Custodia: " + oE.PCustodia.Nombre); PdfPage.Add(taCustodia); lblPositionY += lblMarginY; PdfTextArea taDocEntragados = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "DOCUMENTOS ENTREGADOS POR EL TRANSPORTISTA: "); PdfPage.Add(taDocEntragados); lblPositionY += lblMarginY - 10; int lblDocEntMarginY = 0; int lblPedCompMarginY = lblPositionY + lblDocEntMarginY; foreach (Entrada_documento oED in oE.PLstEntDoc) { PdfTextArea taDocEnt = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 90, lblPositionY + lblDocEntMarginY, lblWidth - 200, 20), ContentAlignment.MiddleLeft, oED.PDocumento.Nombre + ": " + oED.Referencia); PdfPage.Add(taDocEnt); lblDocEntMarginY += 20; } if (oE.PLstEntComp.Count > 1) { PdfTextArea taLblPedComp = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 480, lblPedCompMarginY, 100, 20), ContentAlignment.MiddleLeft, "COMPARTIDO"); PdfPage.Add(taLblPedComp); lblPedCompMarginY += 20; List <Entrada_compartida> lstEC = oE.PLstEntComp.FindAll(p => p.Id_entrada != oE.Id); foreach (Entrada_compartida oEC in lstEC) { PdfTextArea taPedComp = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 480, lblPedCompMarginY, 100, 20), ContentAlignment.MiddleLeft, oEC.Referencia); PdfPage.Add(taPedComp); lblPedCompMarginY += 20; } } lblPositionY += lblMarginY + lblDocEntMarginY - 20; PdfTextArea taBultoDanado = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "Bultos Da\\361ados: " + oE.No_bulto_danado.ToString()); PdfPage.Add(taBultoDanado); lblMarginY = 25; lblPositionY += lblMarginY; PdfTextArea taBultoAbierto = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "Bultos Abiertos: " + oE.No_bulto_abierto.ToString()); PdfPage.Add(taBultoAbierto); lblPositionY += lblMarginY; PdfTextArea taBultoFaltante = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "Bultos Faltantes: " + (oE.No_bulto_declarado > oE.No_bulto_recibido ? oE.No_bulto_declarado - oE.No_bulto_recibido : 0).ToString()); PdfPage.Add(taBultoFaltante); lblPositionY += lblMarginY; PdfTextArea taBultoSobrante = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "Bultos Sobrantes: " + (oE.No_bulto_declarado < oE.No_bulto_recibido ? oE.No_bulto_recibido - oE.No_bulto_declarado : 0).ToString()); PdfPage.Add(taBultoSobrante); lblPositionY += lblMarginY; PdfTextArea taCintaAduanal = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "Cajas con cinta Aduanal: " + oE.No_caja_cinta_aduanal.ToString()); PdfPage.Add(taCintaAduanal); lblPositionY += lblMarginY; PdfTextArea taPallet = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "No. de Pallets: " + oE.No_pallet.ToString()); PdfPage.Add(taPallet); lblPositionY += lblMarginY; PdfTextArea taButosRecibidos = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "No. Total de Bultos Recibidos: " + oE.No_bulto_recibido.ToString()); PdfPage.Add(taButosRecibidos); lblPositionY += lblMarginY; PdfTextArea taPzaRecibida = new PdfTextArea(new Font("Verdana", 14, FontStyle.Regular), Color.Black , new PdfArea(PdfDocument, 20, lblPositionY, lblWidth, 20), ContentAlignment.MiddleLeft, "Piezas que dice contener: " + oE.No_pieza_declarada.ToString()); PdfPage.Add(taPzaRecibida); }
private void AddTablaResultadosPorBloque(PdfPage page, int yPos) { var text = new PdfTextArea( Function_Library.FontTitulo, Color.Black, new PdfArea(pdfDocument, 80, yPos, 450, 20), ContentAlignment.MiddleCenter, PDF_Resources.Title_ResultadosXBloque); page.Add(text); var dataTable = new DataTable(); dataTable.Columns.Add(PDF_Resources.Header_MEDIDAS); for (int i = 0; i < 7; i++) { dataTable.Columns.Add(i.ToString()); } // Para que se entienda que no se incluyen los ultimos dos parámetros int rows = (datos.TNotaciones.Parametros.Length - 2) + 2; int columns = dataTable.Columns.Count; PdfTable myPdfTable = pdfDocument.NewTable(Function_Library.FontTexto11, rows, columns, 3); DataRow row = dataTable.NewRow(); row[PDF_Resources.Header_MEDIDAS] = PDF_Resources.Header_MEDIDAS; row["0"] = PDF_Resources.Header_BLOQUES; dataTable.Rows.Add(row); row = dataTable.NewRow(); for (int i = 0; i < 7; i++) { row[i.ToString()] = (i + 1).ToString(); } dataTable.Rows.Add(row); for (int i = 2; i < (datos.TNotaciones.Parametros.Length - 2) + 2; i++) { row = dataTable.NewRow(); row[PDF_Resources.Header_MEDIDAS] = datos.TNotaciones.Parametros[i - 2]; for (int j = 0; j < 7; j++) { row[j.ToString()] = datos.PercentilesXbloque[j, i - 2]; } dataTable.Rows.Add(row); } myPdfTable.ImportDataTable(dataTable); myPdfTable.VisibleHeaders = false; myPdfTable.SetColors(Color.Black, Color.White); myPdfTable.SetBorders(Color.Black, 1, BorderType.CompleteGrid); myPdfTable.SetColumnsWidth(new[] { 37, 9, 9, 9, 9, 9, 9, 9 }); myPdfTable.SetContentAlignment(ContentAlignment.MiddleCenter); myPdfTable.Columns[0].SetContentAlignment(ContentAlignment.MiddleLeft); myPdfTable.Rows[0][0].SetContentAlignment(ContentAlignment.MiddleCenter); myPdfTable.Rows[0].SetBackgroundColor(Color.FromArgb(242, 242, 242)); myPdfTable.Rows[1].SetBackgroundColor(Color.FromArgb(242, 242, 242)); myPdfTable.Rows[0][0].RowSpan = 2; myPdfTable.Rows[0][1].ColSpan = 7; PdfTablePage newPdfTablePage = myPdfTable.CreateTablePage(new PdfArea(pdfDocument, 75, yPos + 40, 450, 420)); page.Add(newPdfTablePage); var footText = new PdfTextArea( Function_Library.FontTexto10, Color.Black, new PdfArea(pdfDocument, 80, yPos + 180, 450, 80), ContentAlignment.MiddleLeft, PDF_Resources.FootNote_Puntuaciones); page.Add(footText); }
public Stream SaveAsStream() { table.EndLoadData(); table.AcceptChanges(); var removes = new List<string>(); foreach (DataColumn dc in table.Columns) if (title.IndexOf(dc.ColumnName) == -1) removes.Add(dc.ColumnName); foreach (var name in removes) table.Columns.Remove(name); var pdfTitle = table.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), table.Rows.Count, table.Columns.Count, 4); // Importing datas from the datatables... (also column names for the headers!) //myPdfTable.ImportDataTable(Table); myPdfTable.ImportDataTable(table); // 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; }
protected void btnprint_click(object sender, EventArgs e) { try { int RowCheckedCnt = 0; if (grdBarcode.Rows.Count > 0) { foreach (GridViewRow row in grdBarcode.Rows) { CheckBox cbsel = (CheckBox)row.FindControl("chkenbl"); if (cbsel.Checked == true) { RowCheckedCnt++; } } } PdfDocument mydoc = new PdfDocument(PdfDocumentFormat.InCentimeters(24, 30)); Gios.Pdf.PdfDocument mypdf = new Gios.Pdf.PdfDocument(PdfDocumentFormat.A4); Gios.Pdf.PdfPage mypdfpage = mydoc.NewPage(); Font Fontsmall = new Font("Times New Roman", 10, FontStyle.Regular); Font Fontbold = new Font("Book Antique", 10, FontStyle.Bold); Font Fontnormal = new Font("Book Antique", 10, FontStyle.Regular); Font fontCoverNo = new Font("IDAutomationHC39M", 10, FontStyle.Bold); List <string> Acc_No = new List <string>(); mypdfpage = mydoc.NewPage(); string collegename = ""; string address1 = ""; string address2 = ""; string address3 = ""; string PhNo = ""; string faxno = ""; string colquery = "select collname,address1,address2,address3,phoneno,faxno from collinfo where college_code='" + ddl_collegename.SelectedItem.Value + "'"; DataSet ds1 = d2.select_method_wo_parameter(colquery, "Text"); if (ds1.Tables.Count > 0 && ds1.Tables[0].Rows.Count > 0) { collegename = Convert.ToString(ds1.Tables[0].Rows[0]["collname"]); address1 = Convert.ToString(ds1.Tables[0].Rows[0]["address1"]); address2 = Convert.ToString(ds1.Tables[0].Rows[0]["address2"]); address3 = Convert.ToString(ds1.Tables[0].Rows[0]["address3"]); PhNo = Convert.ToString(ds1.Tables[0].Rows[0]["phoneno"]); faxno = Convert.ToString(ds1.Tables[0].Rows[0]["faxno"]); } PdfTextArea ptc = new PdfTextArea(Fontbold, System.Drawing.Color.Black, new PdfArea(mydoc, 140, 50, 400, 30), System.Drawing.ContentAlignment.MiddleCenter, collegename); mypdfpage.Add(ptc); PdfTextArea ptc1 = new PdfTextArea(Fontbold, System.Drawing.Color.Black, new PdfArea(mydoc, 125, 65, 400, 30), System.Drawing.ContentAlignment.MiddleCenter, address1 + "," + address2 + "," + address3); mypdfpage.Add(ptc1); PdfTextArea ptc2 = new PdfTextArea(Fontbold, System.Drawing.Color.Black, new PdfArea(mydoc, 130, 80, 400, 30), System.Drawing.ContentAlignment.MiddleCenter, PhNo + "," + faxno); mypdfpage.Add(ptc2); int SpreadCheckCount = 0; if (RowCheckedCnt > 30) { SpreadCheckCount = RowCheckedCnt / 2; } if (RowCheckedCnt < 30) { SpreadCheckCount = RowCheckedCnt; } Gios.Pdf.PdfTable table = mydoc.NewTable(Fontsmall, SpreadCheckCount + 1, 5, 1); table.SetBorders(Color.Black, 1, BorderType.CompleteGrid); table.VisibleHeaders = false; table.Cell(0, 0).SetContentAlignment(ContentAlignment.MiddleCenter); table.Cell(0, 0).SetContent("Acc No"); table.Cell(0, 0).SetContentAlignment(ContentAlignment.MiddleCenter); table.Cell(0, 0).SetFont(Fontbold); table.Cell(0, 1).SetContentAlignment(ContentAlignment.MiddleCenter); table.Cell(0, 1).SetContent("Title"); table.Cell(0, 1).SetContentAlignment(ContentAlignment.MiddleCenter); table.Cell(0, 1).SetFont(Fontbold); table.Cell(0, 2).SetContentAlignment(ContentAlignment.MiddleCenter); table.Cell(0, 2).SetContent("Author"); table.Cell(0, 2).SetContentAlignment(ContentAlignment.MiddleCenter); table.Cell(0, 2).SetFont(Fontbold); table.Cell(0, 3).SetContentAlignment(ContentAlignment.MiddleCenter); table.Cell(0, 3).SetContent("Class No"); table.Cell(0, 3).SetContentAlignment(ContentAlignment.MiddleCenter); table.Cell(0, 3).SetFont(Fontbold); table.Cell(0, 4).SetContentAlignment(ContentAlignment.MiddleCenter); table.Cell(0, 4).SetContent("Bar code"); table.Cell(0, 4).SetContentAlignment(ContentAlignment.MiddleCenter); table.Cell(0, 4).SetFont(Fontbold); table.Columns[0].SetWidth(50); table.Columns[0].SetCellPadding(9); table.Columns[1].SetWidth(200); table.Columns[1].SetCellPadding(9); table.Columns[2].SetWidth(150); table.Columns[2].SetCellPadding(9); table.Columns[3].SetWidth(80); table.Columns[3].SetCellPadding(9); table.Columns[4].SetWidth(100); table.Columns[4].SetCellPadding(9); int img_pos = 212; int TR = 1; //for (int dsrow = 0; dsrow < SpreadCheckCount; dsrow++) if (SpreadCheckCount > 0) { foreach (GridViewRow row in grdBarcode.Rows) { CheckBox cbsel = (CheckBox)row.FindControl("chkenbl"); int RowCnt = Convert.ToInt32(row.RowIndex); if (cbsel.Checked == true) { string accNo = Convert.ToString(grdBarcode.Rows[RowCnt].Cells[2].Text); string title = Convert.ToString(grdBarcode.Rows[RowCnt].Cells[3].Text); string author = Convert.ToString(grdBarcode.Rows[RowCnt].Cells[4].Text); string classNo = Convert.ToString(grdBarcode.Rows[RowCnt].Cells[7].Text); string LibBarCode = Convert.ToString(grdBarcode.Rows[RowCnt].Cells[17].Text); string barCode = LibBarCode; System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image(); table.Cell(TR, 0).SetContentAlignment(ContentAlignment.MiddleCenter); table.Cell(TR, 0).SetCellPadding(13); table.Cell(TR, 0).SetContent(Convert.ToString(accNo)); table.Cell(TR, 1).SetContentAlignment(ContentAlignment.MiddleCenter); table.Cell(TR, 1).SetCellPadding(13); table.Cell(TR, 1).SetContent(Convert.ToString(title)); table.Cell(TR, 2).SetContentAlignment(ContentAlignment.MiddleCenter); table.Cell(TR, 2).SetCellPadding(13); table.Cell(TR, 2).SetContent(Convert.ToString(author)); table.Cell(TR, 3).SetContentAlignment(ContentAlignment.MiddleCenter); table.Cell(TR, 3).SetCellPadding(13); table.Cell(TR, 3).SetContent(Convert.ToString(classNo)); using (Bitmap bitMap = new Bitmap(accNo.Length * 40, 80)) { using (Graphics graphics = Graphics.FromImage(bitMap)) { Font oFont = new Font("IDAutomationHC39M", 16); PointF point = new PointF(2f, 2f); SolidBrush blackBrush = new SolidBrush(Color.Black); SolidBrush whiteBrush = new SolidBrush(Color.White); graphics.FillRectangle(whiteBrush, 0, 0, bitMap.Width, bitMap.Height); graphics.DrawString("*" + accNo + "*", oFont, blackBrush, point); } using (MemoryStream ms = new MemoryStream()) { bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); byte[] byteImage = ms.ToArray(); if (File.Exists(HttpContext.Current.Server.MapPath("~/BarCode/" + accNo + ".jpeg"))) { PdfImage LogoImage1 = mydoc.NewImage(HttpContext.Current.Server.MapPath("~/BarCode/" + accNo + ".jpeg")); mypdfpage.Add(LogoImage1, 580, img_pos, 200); } else { File.WriteAllBytes(Server.MapPath("~/BarCode/" + accNo + ".jpeg"), byteImage); DirectoryInfo dir = new DirectoryInfo("~/BarCode/" + accNo + ".jpeg"); dir.Refresh(); ms.Dispose(); ms.Close(); PdfImage LogoImage1 = mydoc.NewImage(HttpContext.Current.Server.MapPath("~/BarCode/" + accNo + ".jpeg")); mypdfpage.Add(LogoImage1, 580, img_pos, 200); } } img_pos += 36; } TR++; } } //} Gios.Pdf.PdfTablePage newpdftabpage1 = table.CreateTablePage(new Gios.Pdf.PdfArea(mydoc, 15, 180, 650, 1200)); mypdfpage.Add(newpdftabpage1); mypdfpage.SaveToDocument(); string appPath = HttpContext.Current.Server.MapPath("~"); if (appPath != "") { string szPath = appPath + "/Report/"; string szFile = "LibraryBarcode" + DateTime.Now.ToString("ddMMyyyy") + DateTime.Now.ToString("HHmmss") + ".pdf"; mydoc.SaveToFile(szPath + szFile); Response.ClearHeaders(); Response.AddHeader("Content-Disposition", "attachment; filename=" + szFile); Response.ContentType = "application/pdf"; Response.WriteFile(szPath + szFile); } } else { imgdiv2.Visible = true; lbl_alert.Text = "Please select the record"; } } catch (Exception ex) { d2.sendErrorMail(ex, collegecode, "BarcodeGeneration"); } }
protected void Btn_print_Click(object sender, EventArgs e) { try { int startingPosX = 0; int startingPosY = 25; //Font Fontco12 = new Font("Comic Sans MS", 12, FontStyle.Bold); //Font Fontpala12 = new Font("Palatino Linotype", 10, FontStyle.Bold); //Font Fontco10 = new Font("Comic Sans MS", 10, FontStyle.Regular); //Font Fontco12a = new Font("Comic Sans MS", 12, FontStyle.Bold); //Font Fontarial7 = new Font("Arial", 8, FontStyle.Regular); //Font Fontarial7r = new Font("Arial", 6, FontStyle.Bold); //Font Fontarial9 = new Font("Arial", 8, FontStyle.Bold); //Font Fontarial10 = new Font("Arial", 10, FontStyle.Regular); //Font Fontarial12 = new Font("Arial", 12, FontStyle.Regular); Font fontPageHeading = new Font("Times New Roman", 22, FontStyle.Bold); Font fontStudentNameHeading = new Font("Arial", 16, FontStyle.Bold); Font fontSemHeading = new Font("Arial", 11, FontStyle.Bold); Font fontTableColumnHeading = new Font("Times New Roman", 10, FontStyle.Bold); Font fontTableContent = new Font("Times New Roman", 9, FontStyle.Regular); //Font tamil = new Font("AMUDHAM.TTF", 16, FontStyle.Regular); PdfDocument mydoc = new PdfDocument(PdfDocumentFormat.A4_Horizontal); PdfPage mypdfpage; PdfTextArea pdfHeadingTxtArea; PdfTextArea pdfStudentNameTxtArea; //PdfTextArea pdfSemHeadingTxtArea; PdfTable pdfTable; //PdfTable pdfTable1; //PdfTable pdfTable2; //PdfTable pdfTable3; PdfTablePage pdftblPage; //PdfTablePage pdftblPage1; //PdfTablePage pdftblPage2; //PdfTablePage pdftblPage3; List <string> lstRegNo = new List <string>(); bool isSheetsSaved = false; string batchYear = ddl_batch.SelectedItem.Value; string degreeCode = ddl_branch.SelectedItem.Value; if (GridView1.Rows.Count > 0) { foreach (GridViewRow gvrow in GridView1.Rows) { CheckBox chkSelect = (CheckBox)gvrow.FindControl("gridcb"); Label lblRegNo = (Label)gvrow.FindControl("lblgridregno"); if (chkSelect.Checked) { if (!string.IsNullOrEmpty(lblRegNo.Text)) { if (!lstRegNo.Contains(lblRegNo.Text)) { lstRegNo.Add(lblRegNo.Text); } } } } if (lstRegNo.Count > 0) { string qry = "select m.roll_no,r.stud_name,r.reg_no,r.degree_code,r.Batch_year,sm.semester,s.subject_code,s.subject_name,ss.subject_type,ed.Exam_year,ed.Exam_Month,upper(convert(varchar(3),DateAdd(month,ed.Exam_Month,-1))) as Month_Name,upper(convert(varchar(3),DateAdd(month,ed.Exam_Month,-1)))+' '+CAST(ed.Exam_year as Varchar(5)) as MonthYear, CAST(CONVERT(varchar(10),ed.Exam_Month)+'/01/'+CONVERT(varchar(10),ed.Exam_year) as Datetime) as EDate,ed.exam_code,s.max_int_marks,isnull(m.internal_mark,0) as internal_mark,s.max_ext_marks,case when m.result='WHD' then '-1' else isnull(m.external_mark,0) end external_mark,s.maxtotal, (case when isnull(m.internal_mark,0) >=0 then isnull(m.internal_mark,0) else 0 end) + (case when isnull(m.external_mark,0) >=0 then isnull(m.external_mark,0) else 0 end) as total,s.credit_points,case m.result when 'Pass' Then 'PASS' when 'AAA' then 'ABSENT' when 'WHD' then 'AAA' else 'FAIL' end as result,s.Part_Type,ss.priority,ss.lab,SUBSTRING(s.subject_code,(LEN(s.subject_code)-2) ,1) as Prac_code,s.subject_no,s.min_int_marks,s.min_ext_marks,s.mintotal,print_acronmy from registration r, mark_entry m,subject s,syllabus_master sm,sub_sem ss,Exam_Details ed where s.subject_no=m.subject_no and m.exam_code=ed.exam_code and s.syll_code=sm.syll_code and s.syll_code=ss.syll_code and ss.syll_code=s.syll_code and ss.subType_no=s.subType_no and ed.batch_year=sm.Batch_Year and ed.degree_code=sm.degree_code and r.roll_no=m.roll_no and r.Batch_Year=sm.Batch_Year and r.degree_code=sm.degree_code and m.external_mark is not null and m.total is not null and m.result is not null and CAST(CONVERT(varchar(20),ed.Exam_Month)+'/01/'+CONVERT(varchar(20),ed.Exam_year) as Datetime)<=CAST(CONVERT(varchar(20),'" + Convert.ToString(ddl_exmonth.SelectedValue).Trim() + "')+'/01/'+CONVERT(varchar(20),'" + Convert.ToString(ddl_exyear.SelectedValue).Trim() + "') as Datetime) and ISNULL(ed.Exam_Month,'')<>'' and ISNULL(ed.Exam_year,'')<>'' and ISNULL(ed.Exam_Month,'')<>'-1' and ISNULL(ed.Exam_year,'')<>'-1' and ed.batch_year='" + batchYear + "' and ed.degree_code='" + degreeCode + "' and r.reg_no in('" + string.Join("','", lstRegNo.ToArray()) + "') order by m.roll_no,sm.semester,s.subjectpriority,ed.Exam_year,ed.Exam_Month"; ds = d2.select_method_wo_parameter(qry, "Text"); foreach (string studentRegNo in lstRegNo) { DataTable dtStudentDet = new DataTable(); if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { ds.Tables[0].DefaultView.RowFilter = "reg_no='" + studentRegNo + "'"; dtStudentDet = ds.Tables[0].DefaultView.ToTable(); } if (dtStudentDet.Rows.Count > 0) { string studBatchYear = Convert.ToString(dtStudentDet.Rows[0]["batch_year"]).Trim(); string studDegreeCode = Convert.ToString(dtStudentDet.Rows[0]["degree_code"]).Trim(); startingPosX = 0; startingPosY = 15; isSheetsSaved = true; int max_sem1 = 0; string max_sem = d2.GetFunctionv("select NDurations from ndegree where batch_year='" + studBatchYear + "' and Degree_code='" + studDegreeCode + "'"); if (max_sem == "" || max_sem == null) { max_sem = d2.GetFunctionv("SELECT Duration FROM Degree where Degree_Code='" + studDegreeCode + "'"); } int.TryParse(max_sem, out max_sem1); mypdfpage = mydoc.NewPage(); pdfHeadingTxtArea = new PdfTextArea(fontPageHeading, Color.Black, new PdfArea(mydoc, startingPosX, startingPosY, mydoc.PageWidth - (2 * startingPosX), 30), ContentAlignment.MiddleCenter, "DEAN OFFICE REPORT "); mypdfpage.Add(pdfHeadingTxtArea); startingPosX += 25; startingPosY += 20; pdfStudentNameTxtArea = new PdfTextArea(fontStudentNameHeading, Color.Black, new PdfArea(mydoc, startingPosX, startingPosY, mydoc.PageWidth - (2 * startingPosX), 30), ContentAlignment.TopLeft, Convert.ToString(dtStudentDet.Rows[0]["reg_no"]) + " " + Convert.ToString(dtStudentDet.Rows[0]["stud_name"])); mypdfpage.Add(pdfStudentNameTxtArea); double tablePageHeight = 0; int iteration = 1; int step = 0; int posY = startingPosY; int rowStep = 1; double[] tblHeight = new double[2]; startingPosY += 20; for (int i = 0; i < max_sem1; i++) { DataTable dtSemesterWiseMarks = new DataTable(); dtStudentDet.DefaultView.RowFilter = "semester='" + (i + 1) + "'"; dtSemesterWiseMarks = dtStudentDet.DefaultView.ToTable(); step = i % 2; if (i % 2 == 0 && i != 0) { rowStep++; startingPosY = posY + Convert.ToInt32(tblHeight.Max()) + 20 * rowStep; if (dtSemesterWiseMarks.Rows.Count > 0) { if (startingPosY > mydoc.PageHeight) { mypdfpage.SaveToDocument(); mypdfpage = mydoc.NewPage(); startingPosX = 0; startingPosY = 15; pdfHeadingTxtArea = new PdfTextArea(fontPageHeading, Color.Black, new PdfArea(mydoc, startingPosX, startingPosY, mydoc.PageWidth - (2 * startingPosX), 30), ContentAlignment.MiddleCenter, "DEAN OFFICE REPORT "); mypdfpage.Add(pdfHeadingTxtArea); startingPosX += 25; startingPosY += 20; pdfStudentNameTxtArea = new PdfTextArea(fontStudentNameHeading, Color.Black, new PdfArea(mydoc, startingPosX, startingPosY, mydoc.PageWidth - (2 * startingPosX), 30), ContentAlignment.TopLeft, Convert.ToString(dtStudentDet.Rows[0]["reg_no"]) + " " + Convert.ToString(dtStudentDet.Rows[0]["stud_name"])); mypdfpage.Add(pdfStudentNameTxtArea); posY = startingPosY; startingPosY += 20; } } tblHeight = new double[2]; step = 0; } if (dtSemesterWiseMarks.Rows.Count > 0) { pdfTable = mydoc.NewTable(fontTableColumnHeading, dtSemesterWiseMarks.Rows.Count + 2, 5, 3); pdfTable.VisibleHeaders = false; //pdfTable.SetBorders(Color.Black, 1, BorderType.None); pdfTable.SetBorders(Color.Black, 1, BorderType.CompleteGrid); pdfTable.SetColumnsWidth(new int[] { 150, 20, 20, 25, 30 }); pdfTable.Cell(0, 0).SetContentAlignment(ContentAlignment.MiddleLeft); pdfTable.Cell(0, 0).SetContent("SEM " + (i + 1)); pdfTable.Cell(0, 0).SetFont(fontSemHeading); foreach (PdfCell pc in pdfTable.CellRange(0, 0, 0, 0).Cells) { pc.ColSpan = 5; } pdfTable.Cell(1, 0).SetContentAlignment(ContentAlignment.MiddleLeft); pdfTable.Cell(1, 0).SetContent("Subject"); pdfTable.Cell(1, 1).SetContentAlignment(ContentAlignment.MiddleCenter); pdfTable.Cell(1, 1).SetContent("INT"); pdfTable.Cell(1, 2).SetContentAlignment(ContentAlignment.MiddleCenter); pdfTable.Cell(1, 2).SetContent("EXT"); pdfTable.Cell(1, 3).SetContentAlignment(ContentAlignment.MiddleCenter); pdfTable.Cell(1, 3).SetContent("Status"); pdfTable.Cell(1, 4).SetContentAlignment(ContentAlignment.MiddleCenter); pdfTable.Cell(1, 4).SetContent("Passing\nyr"); int row = 2; foreach (DataRow drSemSubject in dtSemesterWiseMarks.Rows) { string subjectname = Convert.ToString(drSemSubject["subject_name"]).Trim(); string internalmark = Convert.ToString(drSemSubject["internal_mark"]).Trim(); string externalmark = Convert.ToString(drSemSubject["external_mark"]).Trim(); string result = Convert.ToString(drSemSubject["result"]).Trim().ToLower(); string monthyear = Convert.ToString(drSemSubject["MonthYear"]).Trim(); string displayResult = string.Empty; switch (result) { case "pass": case "p": displayResult = "P"; break; case "fail": case "f": displayResult = "F"; break; case "whd": case "w": case "www": displayResult = "WHD"; break; case "mp": displayResult = "MP"; break; case "aaa": case "ab": case "absent": displayResult = "AB"; break; default: //if (result.ToLower().Contains("")) displayResult = result; break; } pdfTable.Cell(row, 0).SetContentAlignment(ContentAlignment.MiddleLeft); pdfTable.Cell(row, 0).SetContent(subjectname); pdfTable.Cell(row, 0).SetFont(fontTableContent); pdfTable.Cell(row, 1).SetContentAlignment(ContentAlignment.MiddleCenter); pdfTable.Cell(row, 1).SetContent(internalmark); pdfTable.Cell(row, 1).SetFont(fontTableContent); pdfTable.Cell(row, 2).SetContentAlignment(ContentAlignment.MiddleCenter); pdfTable.Cell(row, 2).SetContent(externalmark); pdfTable.Cell(row, 2).SetFont(fontTableContent); pdfTable.Cell(row, 3).SetContentAlignment(ContentAlignment.MiddleCenter); pdfTable.Cell(row, 3).SetContent(displayResult); pdfTable.Cell(row, 3).SetFont(fontTableContent); pdfTable.Cell(row, 4).SetContentAlignment(ContentAlignment.MiddleCenter); pdfTable.Cell(row, 4).SetContent(monthyear); pdfTable.Cell(row, 4).SetFont(fontTableContent); row++; } iteration++; pdftblPage = pdfTable.CreateTablePage(new PdfArea(mydoc, (step == 0) ? 5 : (mydoc.PageWidth / 2) + 5, startingPosY, (mydoc.PageWidth / 2) - 10, 400)); mypdfpage.Add(pdftblPage); tblHeight[step] = pdftblPage.Area.Height; } } //startingPosX += 10; //startingPosY += 30; //pdfSemHeadingTxtArea = new PdfTextArea(fontSemHeading, Color.Black, new PdfArea(mydoc, startingPosX, startingPosY, mydoc.PageWidth - (2 * startingPosX), 30), ContentAlignment.TopLeft, " SEM 1"); //mypdfpage.Add(pdfSemHeadingTxtArea); //pdfTable = mydoc.NewTable(fontTableColumnHeading, 10, 14, 5); //pdfTable.VisibleHeaders = false; ////pdfTable.SetBorders(Color.Black, 1, BorderType.None); //pdfTable.SetBorders(Color.Black, 1, BorderType.CompleteGrid); //pdfTable.SetColumnsWidth(new int[] { 113, 41, 41, 43, 30, 113, 41, 41, 43, 30, 113, 41, 41, 43 }); //pdfTable.Cell(0, 0).SetContentAlignment(ContentAlignment.MiddleLeft); //pdfTable.Cell(0, 0).SetContent("SEM 1"); //pdfTable.Cell(0, 5).SetContentAlignment(ContentAlignment.MiddleLeft); //pdfTable.Cell(0, 5).SetContent("SEM 2"); //pdfTable.Cell(0, 10).SetContentAlignment(ContentAlignment.MiddleLeft); //pdfTable.Cell(0, 10).SetContent("SEM 3"); //pdfTable.Cell(1, 0).SetContentAlignment(ContentAlignment.MiddleLeft); //pdfTable.Cell(1, 0).SetContent("Subject"); //pdfTable.Cell(1, 1).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable.Cell(1, 1).SetContent("INT"); //pdfTable.Cell(1, 2).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable.Cell(1, 2).SetContent("EXT"); //pdfTable.Cell(1, 3).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable.Cell(1, 3).SetContent("Status"); //pdfTable.Cell(1, 4).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable.Cell(1, 4).SetContent(""); //pdfTable.Cell(1, 5).SetContentAlignment(ContentAlignment.MiddleLeft); //pdfTable.Cell(1, 5).SetContent("Subject"); //pdfTable.Cell(1, 6).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable.Cell(1, 6).SetContent("INT"); //pdfTable.Cell(1, 7).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable.Cell(1, 7).SetContent("EXT"); //pdfTable.Cell(1, 8).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable.Cell(1, 8).SetContent("Status"); //pdfTable.Cell(1, 9).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable.Cell(1, 9).SetContent(""); //pdfTable.Cell(1, 10).SetContentAlignment(ContentAlignment.MiddleLeft); //pdfTable.Cell(1, 10).SetContent("Subject"); //pdfTable.Cell(1, 11).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable.Cell(1, 11).SetContent("INT"); //pdfTable.Cell(1, 12).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable.Cell(1, 12).SetContent("EXT"); //pdfTable.Cell(1, 13).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable.Cell(1, 13).SetContent("Status"); startingPosX += 25; //startingPosX += 25; //pdfTable1 = mydoc.NewTable(fontTableColumnHeading, 10, 4, 5); //pdfTable1.VisibleHeaders = false; ////pdfTable.SetBorders(Color.Black, 1, BorderType.None); //pdfTable1.SetBorders(Color.Black, 1, BorderType.CompleteGrid); //pdfTable1.SetColumnsWidth(new int[] { 150, 20, 20, 35 }); //pdfTable1.Cell(0, 0).SetContentAlignment(ContentAlignment.MiddleLeft); //pdfTable1.Cell(0, 0).SetContent("SEM 2"); //pdfTable1.Cell(1, 0).SetContentAlignment(ContentAlignment.MiddleLeft); //pdfTable1.Cell(1, 0).SetContent("Subject"); //pdfTable1.Cell(1, 1).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable1.Cell(1, 1).SetContent("INT"); //pdfTable1.Cell(1, 2).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable1.Cell(1, 2).SetContent("EXT"); //pdfTable1.Cell(1, 3).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable1.Cell(1, 3).SetContent("Status"); //pdftblPage1 = pdfTable1.CreateTablePage(new PdfArea(mydoc, (mydoc.PageWidth / 3), startingPosY, mydoc.PageWidth / 3 - 5, 400)); //mypdfpage.Add(pdftblPage1); //startingPosX += 25; //pdfTable2 = mydoc.NewTable(fontTableColumnHeading, 10, 4, 5); //pdfTable2.VisibleHeaders = false; ////pdfTable.SetBorders(Color.Black, 1, BorderType.None); //pdfTable2.SetBorders(Color.Black, 1, BorderType.CompleteGrid); //pdfTable2.SetColumnsWidth(new int[] { 150, 20, 20, 35 }); //pdfTable2.Cell(0, 0).SetContentAlignment(ContentAlignment.MiddleLeft); //pdfTable2.Cell(0, 0).SetContent("SEM 3"); //pdfTable2.Cell(1, 0).SetContentAlignment(ContentAlignment.MiddleLeft); //pdfTable2.Cell(1, 0).SetContent("Subject"); //pdfTable2.Cell(1, 1).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable2.Cell(1, 1).SetContent("INT"); //pdfTable2.Cell(1, 2).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable2.Cell(1, 2).SetContent("EXT"); //pdfTable2.Cell(1, 3).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable2.Cell(1, 3).SetContent("Status"); //pdftblPage2 = pdfTable2.CreateTablePage(new PdfArea(mydoc, 2 * (mydoc.PageWidth / 3), startingPosY, mydoc.PageWidth / 3 - 5, 200)); //mypdfpage.Add(pdftblPage2); //startingPosX += 25; //pdfTable3 = mydoc.NewTable(fontTableColumnHeading, 10, 4, 5); //pdfTable3.VisibleHeaders = false; ////pdfTable.SetBorders(Color.Black, 1, BorderType.None); //pdfTable3.SetBorders(Color.Black, 1, BorderType.CompleteGrid); //pdfTable3.SetColumnsWidth(new int[] { 150, 20, 20, 35 }); //pdfTable3.Cell(0, 0).SetContentAlignment(ContentAlignment.MiddleLeft); //pdfTable3.Cell(0, 0).SetContent("SEM 4"); //pdfTable3.Cell(1, 0).SetContentAlignment(ContentAlignment.MiddleLeft); //pdfTable3.Cell(1, 0).SetContent("Subject"); //pdfTable3.Cell(1, 1).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable3.Cell(1, 1).SetContent("INT"); //pdfTable3.Cell(1, 2).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable3.Cell(1, 2).SetContent("EXT"); //pdfTable3.Cell(1, 3).SetContentAlignment(ContentAlignment.MiddleCenter); //pdfTable3.Cell(1, 3).SetContent("Status"); //pdftblPage3 = pdfTable3.CreateTablePage(new PdfArea(mydoc, 2 * (mydoc.PageWidth / 3), startingPosY, mydoc.PageWidth / 3 - 5, 200)); //mypdfpage.Add(pdftblPage3); mypdfpage.SaveToDocument(); } } } else { } } if (isSheetsSaved) { string filePath = HttpContext.Current.Server.MapPath("~"); if (filePath != "") { string szPath = filePath + "/Report/"; string szFile = "deanOfficeReport" + DateTime.Now.ToString("ddMMyyyy") + DateTime.Now.ToString("HHmmssfff") + ".pdf"; if (!File.Exists(szPath + szFile)) { mydoc.SaveToFile(szPath + szFile); Response.ClearHeaders(); Response.AddHeader("Content-Disposition", "attachment; filename=" + szFile); Response.ContentType = "application/pdf"; Response.WriteFile(szPath + szFile); } } } } catch { } }
protected void btn_commonprint_OnClick(object sender, EventArgs e) { try { string coename = ""; string strquery = "select *,district+' - '+pincode as districtpin from collinfo where college_code='" + Session["collegecode"].ToString() + "'"; ds.Dispose(); ds.Reset(); ds = d2.select_method_wo_parameter(strquery, "Text"); string Collegename = ""; string aff = ""; string collacr = ""; string dispin = ""; string category = ""; if (ds.Tables[0].Rows.Count > 0) { Collegename = ds.Tables[0].Rows[0]["Collname"].ToString(); aff = ds.Tables[0].Rows[0]["affliatedby"].ToString(); string[] strpa = aff.Split(','); aff = strpa[0]; coename = ds.Tables[0].Rows[0]["coe"].ToString(); collacr = ds.Tables[0].Rows[0]["acr"].ToString(); dispin = ds.Tables[0].Rows[0]["districtpin"].ToString(); category = ds.Tables[0].Rows[0]["category"].ToString(); } string degreecode = ddlbranch.SelectedValue.ToString(); //string //string eve = d2.GetFunction(" select c.type from Degree d,Course c where d.Course_Id=c.Course_Id and d.Degree_Code='" + degreecode + "'"); string eve = ""; string course = ""; string deptacr = ""; string headingquery = "select c.type,c.Course_Name,de.dept_name from Degree d,Course c,Department de where d.Course_Id=c.Course_Id and de.Dept_Code=d.Dept_Code and d.Degree_Code='" + degreecode + "'"; hds = d2.select_method_wo_parameter(headingquery, "Text"); if (hds.Tables[0].Rows.Count > 0) { eve = hds.Tables[0].Rows[0]["type"].ToString(); course = hds.Tables[0].Rows[0]["Course_Name"].ToString(); deptacr = hds.Tables[0].Rows[0]["dept_name"].ToString(); } string batch = ddlbatch.SelectedItem.Text; string title = "PAPERS SELECTED BY THE STUDENTS OF " + course + " - " + deptacr + " - BATCH " + batch + " (" + eve + ")"; Font Fontbold1 = new Font("Times New Roman", 15, FontStyle.Bold); Font font2bold = new Font("Times New Roman", 12, FontStyle.Bold); Font font2small = new Font("Times New Roman", 12, FontStyle.Regular); Font font3bold = new Font("Times New Roman", 9, FontStyle.Bold); Font font3small = new Font("Times New Roman", 10, FontStyle.Regular); Font font4bold = new Font("Times New Roman", 7, FontStyle.Bold); Font font4small = new Font("Times New Roman", 7, FontStyle.Regular); Gios.Pdf.PdfDocument mydoc; Gios.Pdf.PdfPage mypdfpage; Gios.Pdf.PdfTable table1forpage2; Gios.Pdf.PdfTablePage newpdftabpage2; if (FpSpread2.Sheets[0].RowCount > 0) { int nofocolun = 0; Hashtable hatrowset = new Hashtable(); int haskpage = 0; int checkrow = 0; for (int r = 0; r < FpSpread2.Sheets[0].RowCount; r++) { string nameval = FpSpread2.Sheets[0].Cells[r, 1].Text.ToString(); if (nameval.Trim() != "") { checkrow++; if (checkrow == 11 || checkrow == 1) { haskpage++; checkrow = 1; } } if (hatrowset.Contains(haskpage)) { hatrowset[haskpage] = Convert.ToInt32(hatrowset[haskpage]) + 1; } else { hatrowset.Add(haskpage, 1); } } int pagcount = hatrowset.Count; haskpage = 0; int totcol = FpSpread2.Sheets[0].ColumnCount - 3; int noofcolumn = totcol / 10; if (((FpSpread2.Sheets[0].ColumnCount - 3) % 10) > 0) { noofcolumn++; } mydoc = new Gios.Pdf.PdfDocument(PdfDocumentFormat.InCentimeters(60, 40)); int startcolun = 0; int endcolumn; int stratrow = 0; int endrow = 0; for (int pc = 1; pc <= pagcount; pc++) { int noofrows = Convert.ToInt32(hatrowset[pc]); startcolun = 3; stratrow = endrow; endrow = stratrow + noofrows; startcolun = 3; int colcou = 3; for (int col = 0; col < noofcolumn; col++) { if (col > 0) { startcolun = startcolun + 10; } endcolumn = startcolun + 10; if (endcolumn > FpSpread2.Sheets[0].ColumnCount) { endcolumn = FpSpread2.Sheets[0].ColumnCount; } colcou = colcou + 10; nofocolun = 13; if (colcou > FpSpread2.Sheets[0].ColumnCount) { colcou = (FpSpread2.Sheets[0].ColumnCount + 10) - colcou; nofocolun = colcou + 3; } mypdfpage = mydoc.NewPage(); int coltop = 20; #region Left Logo if (File.Exists(HttpContext.Current.Server.MapPath("~/college/Left_Logo.jpeg"))) { PdfImage LogoImage = mydoc.NewImage(HttpContext.Current.Server.MapPath("~/college/Left_Logo.jpeg")); mypdfpage.Add(LogoImage, 35, 20, 320); } #endregion #region TOP DETAILS coltop = coltop + 10; PdfTextArea ptc = new PdfTextArea(Fontbold1, System.Drawing.Color.Black, new PdfArea(mydoc, 0, coltop, 1700, 30), System.Drawing.ContentAlignment.TopCenter, Collegename + "(" + category + ")"); mypdfpage.Add(ptc); coltop = coltop + 20; ptc = new PdfTextArea(Fontbold1, System.Drawing.Color.Black, new PdfArea(mydoc, 0, coltop, 1700, 30), System.Drawing.ContentAlignment.TopCenter, title); mypdfpage.Add(ptc); coltop = coltop + 20; //ptc = new PdfTextArea(font2bold, System.Drawing.Color.Black, // new PdfArea(mydoc, 560, coltop, 595, 30), System.Drawing.ContentAlignment.TopCenter, aff); //mypdfpage.Add(ptc); //coltop = coltop + 15; //ptc = new PdfTextArea(font2bold, System.Drawing.Color.Black, // new PdfArea(mydoc, 560, coltop, 595, 30), System.Drawing.ContentAlignment.TopCenter, dispin); //mypdfpage.Add(ptc); #endregion # region Table Binding table1forpage2 = mydoc.NewTable(font3small, noofrows + 1, nofocolun, 4); table1forpage2.VisibleHeaders = false; table1forpage2.SetBorders(Color.Black, 1, BorderType.CompleteGrid); table1forpage2.Cell(0, 0).SetContentAlignment(ContentAlignment.MiddleCenter); table1forpage2.Cell(0, 0).SetContent("S.No"); table1forpage2.Columns[0].SetWidth(30); table1forpage2.Cell(0, 1).SetContentAlignment(ContentAlignment.MiddleCenter); table1forpage2.Cell(0, 1).SetContent("Reg.No"); table1forpage2.Columns[1].SetWidth(60); table1forpage2.Cell(0, 2).SetContentAlignment(ContentAlignment.MiddleCenter); table1forpage2.Cell(0, 2).SetContent("Student Name"); table1forpage2.Columns[2].SetWidth(150); //table1forpage2.Cell(0, 3).SetContentAlignment(ContentAlignment.MiddleCenter); //table1forpage2.Cell(0, 3).SetContent("(Total Papers Selected)"); //table1forpage2.Columns[3].SetWidth(80); //table1forpage2.Cell(0, 4).SetContentAlignment(ContentAlignment.MiddleCenter); //table1forpage2.Cell(0, 4).SetContent("Total Papers Appeared"); //table1forpage2.Columns[4].SetWidth(80); table1forpage2.Cell(0, 0).SetFont(font2bold); table1forpage2.Cell(0, 1).SetFont(font2bold); table1forpage2.Cell(0, 2).SetFont(font2bold); //table1forpage2.Cell(0, 3).SetFont(font2bold); //table1forpage2.Cell(0, 4).SetFont(font2bold); int totalrow = endrow - stratrow; int tr = 0; int tc = 3; for (int r = stratrow; r < endrow; r++) { tr++; tc = 2; table1forpage2.Cell(tr, 0).SetContentAlignment(ContentAlignment.MiddleCenter); table1forpage2.Cell(tr, 1).SetContentAlignment(ContentAlignment.MiddleLeft); table1forpage2.Cell(tr, 2).SetContentAlignment(ContentAlignment.MiddleLeft); //table1forpage2.Cell(tr, 3).SetContentAlignment(ContentAlignment.MiddleCenter); //table1forpage2.Cell(tr, 4).SetContentAlignment(ContentAlignment.MiddleCenter); table1forpage2.Cell(tr, 0).SetContent(FpSpread2.Sheets[0].Cells[r, 0].Text.ToString()); table1forpage2.Cell(tr, 1).SetContent(FpSpread2.Sheets[0].Cells[r, 1].Text.ToString()); table1forpage2.Cell(tr, 1).SetFont(font2bold); table1forpage2.Cell(tr, 2).SetContent(FpSpread2.Sheets[0].Cells[r, 2].Text.ToString()); table1forpage2.Cell(tr, 2).SetFont(font2bold); //table1forpage2.Cell(tr, 3).SetContent(FpSpread2.Sheets[0].Cells[r, 3].Text.ToString()); //table1forpage2.Cell(tr, 3).SetFont(font3small); //table1forpage2.Cell(tr, 4).SetContent(FpSpread2.Sheets[0].Cells[r, 4].Text.ToString()); //table1forpage2.Cell(tr, 4).SetFont(font3small); for (int c = startcolun; c < endcolumn; c++) { tc++; if (tc < FpSpread2.Sheets[0].ColumnCount) { if (r == stratrow) { table1forpage2.Cell(0, tc).SetContentAlignment(ContentAlignment.MiddleCenter); table1forpage2.Cell(0, tc).SetContent(FpSpread2.Sheets[0].ColumnHeader.Cells[0, c].Text.ToString()); table1forpage2.Cell(0, tc).SetFont(font2bold); table1forpage2.Columns[tc].SetWidth(100); table1forpage2.Cell(tr, tc).SetCellPadding(20); } table1forpage2.Cell(tr, tc).SetContent(FpSpread2.Sheets[0].Cells[r, c].Text.ToString()); table1forpage2.Cell(tr, tc).SetFont(font2bold); string value = FpSpread2.Sheets[0].Cells[r, c].Text.ToString().ToString(); if (value.Trim() == "") { table1forpage2.Cell(tr, tc).SetContent("."); table1forpage2.Cell(tr, tc).SetForegroundColor(Color.White); } if (totalrow > 40) { table1forpage2.Cell(tr, tc).SetCellPadding(1); } else if (totalrow > 30) { table1forpage2.Cell(tr, tc).SetCellPadding(5); } else if (totalrow > 18) { table1forpage2.Cell(tr, tc).SetCellPadding(10); } else { table1forpage2.Cell(tr, tc).SetCellPadding(20); } } } } newpdftabpage2 = table1forpage2.CreateTablePage(new Gios.Pdf.PdfArea(mydoc, 15, 130, 1670, 5000)); mypdfpage.Add(newpdftabpage2); mypdfpage.SaveToDocument(); #endregion } } string appPath = HttpContext.Current.Server.MapPath("~"); if (appPath != "") { string szPath = appPath + "/Report/"; string szFile = "SubjectAllotment" + DateTime.Now.ToString("ddMMyyyy") + DateTime.Now.ToString("HHMMss") + ".pdf"; mydoc.SaveToFile(szPath + szFile); Response.ClearHeaders(); Response.AddHeader("Content-Disposition", "attachment; filename=" + szFile); Response.ContentType = "application/pdf"; Response.WriteFile(szPath + szFile); } } }
private void ProcessStyledTable(PdfPage page, Com.Delta.Print.Engine.StyledTable table) { try { DataTable data = table.DataSource == null ? table.DisplayData : table.Data; int visibleColumnCount = table.GetVisibleColumnsCount(); if (data == null) { data = new DataTable(); for (int i = 0; i < visibleColumnCount; i++) { data.Columns.Add(); } } if (data.Rows.Count == 0) { if (table.DrawEmptyRows) { int maxRows = table.Bounds.Height / table.CellHeight; PdfTable pdfTable = pdfDocument.NewTable(table.DataFont, maxRows, visibleColumnCount, 2); System.Data.DataTable dt = new System.Data.DataTable(); for (int i = 0; i < visibleColumnCount; i++) { dt.Columns.Add(""); } for (int i = 0; i < table.Height / table.CellHeight; i++) { dt.Rows.Add(dt.NewRow()); if (dt.Columns.Count > 0) { dt.Rows[i][0] = " "; } } pdfTable.ImportDataTable(dt); pdfTable.SetRowHeight(Convert(table.CellHeight)); pdfTable.HeadersRow.SetRowHeight(Convert(table.CellHeight)); pdfTable.HeadersRow.SetColors(table.HeaderFontColor, table.HeaderBackgroundColor); pdfTable.HeadersRow.SetFont(table.HeaderFont); int count = 0; for (int i = 0; i < table.Columns.Length; i++) { if (table.Columns[i].Width > 0) { string columnName = table.Columns[i].Label == String.Empty || table.Columns[i].Label == "" ? " " : table.Columns[i].Label; pdfTable.HeadersRow[count].SetContent(columnName); count++; } } pdfTable.SetColors(table.DataFontColor, table.BackgroundColor); pdfTable.SetBorders(table.BorderColor, 1, BorderType.CompleteGrid); if (table.AlternateBackColor) { for (int i = 0; i < dt.Rows.Count; i++) { if (i % 2 == 1) { pdfTable.Rows[i].SetBackgroundColor(table.AlternatingBackColor); } } } int[] columnWidths = new int[visibleColumnCount]; int tableWidth = 0; count = 0; for (int i = 0; i < table.Columns.Length; i++) { if (table.Columns[i].Width > 0) { columnWidths[count] = (int)Convert(table.Columns[i].Width); tableWidth += columnWidths[count]; count++; } } pdfTable.SetColumnsWidth(columnWidths); count = 0; for (int i = 0; i < table.Columns.Length; i++) { if (table.Columns[i].Width > 0) { Com.Delta.Print.Engine.Pdf.HorizontalAlignment columnAlignment = GetColumnContentAlignment(table.Columns[i].Alignment); pdfTable.HeadersRow[count].SetContentAlignment(columnAlignment, VerticalAlignment.Middle); pdfTable.Columns[count].SetContentAlignment(columnAlignment, VerticalAlignment.Middle); count++; } } pdfTable.VisibleHeaders = table.DrawHeader; PdfTablePage tablePage = pdfTable.CreateTablePage(new PdfArea(pdfDocument, Convert(table.Bounds.X), Convert(table.Bounds.Y), tableWidth, Convert(table.Bounds.Height))); page.Add(tablePage); } else if (table.DrawHeader && !table.DrawEmptyRows) { int position = table.Bounds.X; int headerRelativeHeight = 1; for (int i = 0; i < table.Columns.Length; i++) { if (table.Columns[i].Width > 0) { PdfArea area = new PdfArea(pdfDocument, Convert(position + 2), Convert(table.Bounds.Y + 2), Convert(table.Columns[i].Width - 4), Convert(table.CellHeight - 4)); PdfTextArea pdfTextArea = new PdfTextArea(table.HeaderFont, table.HeaderFontColor, area, GetColumnContentAlignment(table.Columns[i].Alignment), VerticalAlignment.Middle, table.Columns[i].Label, false); int minimumLines = pdfTextArea.RenderLines().Count; headerRelativeHeight = Math.Max(headerRelativeHeight, minimumLines); } } int headerHeight = table.CellHeight * headerRelativeHeight; for (int i = 0; i < table.Columns.Length; i++) { if (table.Columns[i].Width > 0) { PdfArea area = new PdfArea(pdfDocument, Convert(position + 2), Convert(table.Bounds.Y + 2), Convert(table.Columns[i].Width - 4), Convert(headerHeight - 4)); PdfArea borderArea = new PdfArea(pdfDocument, Convert(position), Convert(table.Bounds.Y), Convert(table.Columns[i].Width), Convert(headerHeight)); PdfRectangle border = new PdfRectangle(pdfDocument, borderArea, table.BorderColor, 1, table.HeaderBackgroundColor); page.Add(border); PdfTextArea pdfTextArea = new PdfTextArea(table.HeaderFont, table.HeaderFontColor, area, GetColumnContentAlignment(table.Columns[i].Alignment), VerticalAlignment.Middle, table.Columns[i].Label, false); // arbitrary line spacing pdfTextArea.SetLineSpacing(Convert(table.CellHeight / 8)); page.Add(pdfTextArea); position += table.Columns[i].Width; } } } else { return; } } else { int maxRows = table.Height / table.CellHeight; int rowCount = data.Rows.Count; PdfTable pdfTable; double cellPadding = Math.Max(0, Math.Min(2, Math.Floor(0.5 * (table.CellHeight - table.DataFont.GetHeight())))); if (table.DrawEmptyRows) { pdfTable = pdfDocument.NewTable(table.DataFont, rowCount + maxRows, visibleColumnCount, cellPadding); } else { pdfTable = pdfDocument.NewTable(table.DataFont, rowCount, visibleColumnCount, cellPadding); } pdfTable.pdfPage = page; System.Data.DataTable dt = new System.Data.DataTable(); for (int i = 0; i < table.Columns.Length; i++) { if (table.Columns[i].Width > 0) { if (table.Columns[i].FormatMask == "Image") { dt.Columns.Add("", typeof(byte[])); } else { dt.Columns.Add("", typeof(System.String)); } } } for (int i = 0; i < data.Rows.Count; i++) { if (data.Rows[i].RowError == "Subtotal") { object[] rowData = new object[visibleColumnCount]; int cnt = 0; for (int j = 0; j < table.Columns.Length; j++) { if (table.Columns[j].Width > 0) { rowData[cnt] = table.Subtotals[j]; cnt++; } } dt.Rows.Add(rowData); } else { object[] rowData = new object[visibleColumnCount]; int cnt = 0; for (int j = 0; j < table.Columns.Length; j++) { if (table.Columns[j].Width > 0) { if (table.Columns[j].FormatMask == null || table.Columns[j].FormatMask == String.Empty) { rowData[cnt] = String.Format("{0}", data.Rows[i][j]); } else if (table.Columns[j].FormatMask == "Image") { rowData[cnt] = data.Rows[i][j] is byte[] ? data.Rows[i][j] : null; } else { rowData[cnt] = String.Format("{0:" + table.Columns[j].FormatMask + "}", data.Rows[i][j]); } cnt++; } } dt.Rows.Add(rowData); } } if (table.DrawEmptyRows) { for (int i = 0; i < table.Height / table.CellHeight; i++) { dt.Rows.Add(dt.NewRow()); } } pdfTable.ImportDataTable(dt); pdfTable.SetRowHeight(Convert(table.CellHeight)); pdfTable.VisibleHeaders = table.DrawHeader; pdfTable.HeadersRow.SetRowHeight(Convert(table.CellHeight)); pdfTable.HeadersRow.SetColors(table.HeaderFontColor, table.HeaderBackgroundColor); pdfTable.HeadersRow.SetFont(table.HeaderFont); pdfTable.SetColors(table.DataFontColor, table.BackgroundColor); pdfTable.SetBorders(table.BorderColor, 1, BorderType.CompleteGrid); //pdfTable.SetBorders(table.BorderColor, (table.BorderColor == Color.Transparent ? 0 : 1), BorderType.CompleteGrid); int[] columnWidths = new int[visibleColumnCount]; int tableWidth = 0; int count = 0; for (int i = 0; i < table.Columns.Length; i++) { if (table.Columns[i].Width > 0) { columnWidths[count] = (int)Convert(table.Columns[i].Width); tableWidth += columnWidths[count]; string columnName = table.Columns[i].Label == String.Empty || table.Columns[i].Label == "" ? " " : table.Columns[i].Label; pdfTable.HeadersRow[count].SetContent(columnName); Com.Delta.Print.Engine.Pdf.HorizontalAlignment columnAlignment = GetColumnContentAlignment(table.Columns[i].Alignment); pdfTable.HeadersRow[count].SetContentAlignment(columnAlignment, VerticalAlignment.Middle); pdfTable.Columns[count].SetContentAlignment(columnAlignment, VerticalAlignment.Middle); count++; } } pdfTable.SetColumnsWidth(columnWidths); ArrayList alterRows = table.AlterRows; for (int i = 0; i < data.Rows.Count; i++) { if (table.AlternateBackColor && i % 2 == 1) { pdfTable.Rows[i].SetBackgroundColor(table.AlternatingBackColor); } if (alterRows != null && alterRows.Count > 0) { if (alterRows.Contains(data.Rows[i]) && i < pdfTable.Rows.Length) { pdfTable.Rows[i].SetForegroundColor(table.AlterDataColor); pdfTable.Rows[i].SetBackgroundColor(table.AlterDataBackColor); } } } if (table.DrawEmptyRows && table.AlternateBackColor) { for (int i = data.Rows.Count; i < table.Height / table.CellHeight; i++) { if (i % 2 == 1) { pdfTable.Rows[i].SetBackgroundColor(table.AlternatingBackColor); } } } if (table.HasSubtotals) { for (int i = 0; i < data.Rows.Count; i++) { if (data.Rows[i].RowError == "Subtotal" && i < pdfTable.Rows.Length) { pdfTable.Rows[i].SetForegroundColor(table.SubtotalsColor); } } } PdfTablePage tablePage = pdfTable.CreateTablePage(new PdfArea(pdfDocument, Convert(table.Bounds.X), Convert(table.Bounds.Y), tableWidth, Convert(table.Bounds.Height))); page.Add(tablePage); foreach (PdfImage image in pdfTable.Images.Keys) { RectangleF area = (RectangleF)pdfTable.Images[image]; page.Add(image, area.X, area.Y, 0.72 * area.Width, 0.72 * area.Height); } } } catch (Exception e) { Console.WriteLine(e.StackTrace); } }
protected void btndummynoprint_Click(object sender, EventArgs e) { try { ArrayList adddummyarray = new ArrayList(); Gios.Pdf.PdfDocument mydoc; Font Fontbold = new Font("Book Antiqua", 18, FontStyle.Regular); Font fbold = new Font("Book Antiqua", 18, FontStyle.Bold); Font Fontsmall = new Font("Book Antiqua", 12, FontStyle.Regular); Font fontname = new Font("Book Antiqua", 11, FontStyle.Bold); Font fontmedium = new Font("Book Antiqua", 10, FontStyle.Regular); Font fontmediumb = new Font("Book Antiqua", 8, FontStyle.Bold); mydoc = new Gios.Pdf.PdfDocument(PdfDocumentFormat.InCentimeters(24, 30)); Gios.Pdf.PdfPage mypdfpage; // Gios.Pdf.PdfTable table1 = myprovdoc.NewTable(Fontsmall, prov_cnt + 8, 6, 1); Gios.Pdf.PdfTable table; Gios.Pdf.PdfTable table1; Gios.Pdf.PdfTablePage myprov_pdfpage1; string deptvalue = ""; Fpspread1.SaveChanges(); int prinsheetno = 0; string getmaxsheetno = d2.GetFunction("select isnull(max(sheet_no),'10000') from dummynumber where exam_year='" + ddlYear.SelectedValue.ToString() + "' and exam_month='" + ddlMonth.SelectedValue.ToString() + "' "); int strshetno = Convert.ToInt32(getmaxsheetno); if (Fpspread1.Sheets[0].RowCount > 0) { for (int row = 0; row < Fpspread1.Sheets[0].RowCount; row++) { string getval = Fpspread1.Sheets[0].Cells[row, 2].Tag.ToString(); if (getval == "1") { adddummyarray.Add(Convert.ToString(Fpspread1.Sheets[0].Cells[row, 2].Text)); } else { adddummyarray.Add(Convert.ToString(Fpspread1.Sheets[0].Cells[row, 3].Text)); } string dummyno = Fpspread1.Sheets[0].Cells[row, 3].Tag.ToString(); if (dummyno == "") { if ((row % 25) == 0) { strshetno++; } dummyno = strshetno.ToString(); string insertval = "update dummynumber set sheet_no='" + dummyno + "' where dummy_no='" + Fpspread1.Sheets[0].Cells[row, 3].Text.ToString() + "'"; int val = d2.update_method_wo_parameter(insertval, "Text"); } if (prinsheetno == 0) { prinsheetno = Convert.ToInt32(dummyno); } Fpspread1.Sheets[0].Cells[row, 3].Tag = dummyno; } } Fpspread1.SaveChanges(); string month = Convert.ToString(ddlMonth.SelectedItem.Text); string year = Convert.ToString(ddlYear.SelectedItem.Text); string dept = ""; if (chklstbranch.Items.Count > 0) { for (int ros = 0; ros < chklstbranch.Items.Count; ros++) { if (chklstbranch.Items[ros].Selected == true) { dept = Convert.ToString(chklstbranch.Items[ros].Text); } } } string course = Convert.ToString(Fpspread1.Sheets[0].Cells[0, 4].Text); deptvalue = Convert.ToString(Fpspread1.Sheets[0].Cells[0, 5].Text); string semval = Convert.ToString(Fpspread1.Sheets[0].Cells[0, 4].Tag); string subjectname = ddlsubject.SelectedItem.Text; string subjectcode = ddlsubject.SelectedItem.Value; PdfTextArea ptc4 = new PdfTextArea(Fontsmall, System.Drawing.Color.Black, new PdfArea(mydoc, 515, 0, 113, 30), System.Drawing.ContentAlignment.MiddleCenter, prinsheetno.ToString()); PdfTextArea ptc5 = new PdfTextArea(Fontsmall, System.Drawing.Color.Black, new PdfArea(mydoc, 515, 30, 113, 20), System.Drawing.ContentAlignment.MiddleCenter, month + " " + year); int y = 48; PdfTextArea ptde = new PdfTextArea(fontmedium, System.Drawing.Color.Black, new PdfArea(mydoc, 120, y, 100, 30), System.Drawing.ContentAlignment.MiddleLeft, "" + course + ""); PdfTextArea ptc = new PdfTextArea(fontmedium, System.Drawing.Color.Black, new PdfArea(mydoc, 303, y, 350, 30), System.Drawing.ContentAlignment.MiddleLeft, "" + deptvalue + ""); PdfTextArea psem = new PdfTextArea(fontmedium, System.Drawing.Color.Black, new PdfArea(mydoc, 544, y, 200, 30), System.Drawing.ContentAlignment.MiddleLeft, "" + semval + ""); y = y + 20; PdfTextArea ptc1 = new PdfTextArea(fontmedium, System.Drawing.Color.Black, new PdfArea(mydoc, 120, y, 350, 30), System.Drawing.ContentAlignment.MiddleLeft, "" + subjectname + ""); PdfTextArea ptc2 = new PdfTextArea(fontmedium, System.Drawing.Color.Black, new PdfArea(mydoc, 544, y, 200, 30), System.Drawing.ContentAlignment.MiddleLeft, "" + subjectcode + ""); if (adddummyarray.Count > 0) { int rowcount = 0; int totalcount = adddummyarray.Count; while (totalcount > 25) { if (rowcount > 24) { prinsheetno++; ptc4 = new PdfTextArea(Fontsmall, System.Drawing.Color.Black, new PdfArea(mydoc, 515, 2, 113, 30), System.Drawing.ContentAlignment.MiddleCenter, prinsheetno.ToString()); } totalcount = totalcount - 25; table = mydoc.NewTable(Fontsmall, 13, 1, 10); for (int row = 0; row < 13; row++) { string getvalue = Convert.ToString(adddummyarray[rowcount]); table.Cell(row, 0).SetContent(getvalue); table.Cell(row, 0).SetContentAlignment(ContentAlignment.MiddleLeft); table.Cell(row, 0).SetCellPadding(11); rowcount++; } table1 = mydoc.NewTable(Fontsmall, 12, 1, 10); for (int row = 0; row < 12; row++) { string getvalue = Convert.ToString(adddummyarray[rowcount]); table1.Cell(row, 0).SetContent(getvalue); table1.Cell(row, 0).SetCellPadding(11); rowcount++; } mypdfpage = mydoc.NewPage(); myprov_pdfpage1 = table.CreateTablePage(new Gios.Pdf.PdfArea(mydoc, 50, 150, 100, 500)); mypdfpage.Add(myprov_pdfpage1); myprov_pdfpage1 = table1.CreateTablePage(new Gios.Pdf.PdfArea(mydoc, 340, 150, 100, 500)); mypdfpage.Add(myprov_pdfpage1); mypdfpage.Add(ptc); mypdfpage.Add(ptc1); mypdfpage.Add(ptc2); mypdfpage.Add(ptc4); mypdfpage.Add(ptc5); mypdfpage.Add(ptde); mypdfpage.Add(psem); mypdfpage.SaveToDocument(); } bool check = false; int subtotalcount = totalcount; int value = 0; mypdfpage = mydoc.NewPage(); if (subtotalcount >= 13) { value = subtotalcount - 13; check = true; } if (check == true) { prinsheetno++; ptc4 = new PdfTextArea(Fontsmall, System.Drawing.Color.Black, new PdfArea(mydoc, 515, 2, 113, 30), System.Drawing.ContentAlignment.MiddleCenter, prinsheetno.ToString()); table = mydoc.NewTable(Fontsmall, 13, 1, 10); for (int row = 0; row < 13; row++) { string getvalue = Convert.ToString(adddummyarray[rowcount]); table.Cell(row, 0).SetContent(getvalue); rowcount++; } myprov_pdfpage1 = table.CreateTablePage(new Gios.Pdf.PdfArea(mydoc, 50, 150, 100, 500)); mypdfpage.Add(myprov_pdfpage1); } else { prinsheetno++; ptc4 = new PdfTextArea(Fontsmall, System.Drawing.Color.Black, new PdfArea(mydoc, 515, 2, 113, 30), System.Drawing.ContentAlignment.MiddleCenter, prinsheetno.ToString()); table = mydoc.NewTable(Fontsmall, subtotalcount, 1, 10); for (int row = 0; row < subtotalcount; row++) { string getvalue = Convert.ToString(adddummyarray[rowcount]); table.Cell(row, 0).SetContent(getvalue); rowcount++; } myprov_pdfpage1 = table.CreateTablePage(new Gios.Pdf.PdfArea(mydoc, 50, 150, 100, 500)); mypdfpage.Add(myprov_pdfpage1); } if (value != 0) { table1 = mydoc.NewTable(Fontsmall, value, 1, 10); for (int row = 0; row < value; row++) { string getvalue = Convert.ToString(adddummyarray[rowcount]); table1.Cell(row, 0).SetContent(getvalue); rowcount++; } myprov_pdfpage1 = table1.CreateTablePage(new Gios.Pdf.PdfArea(mydoc, 340, 170, 100, 500)); mypdfpage.Add(myprov_pdfpage1); } mypdfpage.Add(ptc); mypdfpage.Add(ptc1); mypdfpage.Add(ptc2); mypdfpage.Add(ptc4); mypdfpage.Add(ptc5); mypdfpage.Add(ptde); mypdfpage.Add(psem); mypdfpage.SaveToDocument(); string appPath = HttpContext.Current.Server.MapPath("~"); if (appPath != "") { string szPath = appPath + "/Report/"; string szFile = "Dummy.pdf"; mydoc.SaveToFile(szPath + szFile); Response.ClearHeaders(); Response.AddHeader("Content-Disposition", "attachment; filename=" + szFile); Response.ContentType = "application/pdf"; Response.WriteFile(szPath + szFile); } } } catch { } }
public System.IO.FileStream GeneraBustaPdf(DataTable dtProfile, string userId) { System.IO.FileStream fsout = null; try { PdfDocument myPdfDocument = new PdfDocument(PdfDocumentFormat.InCentimeters(22.9, 16.2)); foreach (DataRow row in dtProfile.Rows) { //Creo la una tabella di 3 righe, 1 colonnA e 5 ppunti di Padding. PdfTable myPdfTable = myPdfDocument.NewTable(new Font("Times New Roman", 10), 3, 1, 5); myPdfTable.ImportDataTable(Table(row)); myPdfTable.SetColors(Color.Black, Color.White); myPdfTable.SetBorders(Color.Black, 1, BorderType.None); myPdfTable.SetColumnsWidth(new int[] { 100 }); myPdfTable.VisibleHeaders = false; myPdfTable.SetContentAlignment(ContentAlignment.MiddleRight); while (!myPdfTable.AllTablePagesCreated) { PdfPage newPdfPage = myPdfDocument.NewPage(); PdfArea newPdfArea = new PdfArea(myPdfDocument, 240.0, 230.0, 350.0, 200.0); PdfTablePage newPdfTablePage = myPdfTable.CreateTablePage(newPdfArea); PdfTextArea pta = new PdfTextArea(new Font("Times New Roman", 10, FontStyle.Regular), Color.Black, new PdfArea(myPdfDocument, 55, 145, 250, 80), ContentAlignment.TopCenter, row["VAR_DESC_REGISTRO"].ToString().Trim()); // PdfTextArea pta=new PdfTextArea(new Font("Times New Roman",10,FontStyle.Regular),Color.Black,new PdfArea(myPdfDocument,55,145,250,80),ContentAlignment.TopCenter,"dasd sd asf af fdf f sadf asd fas fds fas dfsad fdsa fads fds f dsf dsaf dsa fsad fsa f sadf sad fsda fd fdsa fewsafrew fre gfre gf re erw gewr er rebre br be beb reb ber be b erb re bre ber be rb erbv vf ff f ff f ff fffvgvg"); newPdfPage.Add(newPdfTablePage); newPdfPage.Add(pta); newPdfPage.SaveToDocument(); } } string path = System.Configuration.ConfigurationManager.AppSettings["REPORTS_PATH"]; //path = path.Replace("%DATA", "StampaB_" + userId + DateTime.Now.ToString("yyyyMMdd")); path = path.Replace("%DATA", "StampaBuste"); try { if (!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); } } catch (Exception ex) { throw ex; } string nomeFile = userId + DateTime.Now.ToString("yyyyMMdd") + ".pdf"; path = path + @"\" + nomeFile; System.IO.FileInfo nfile = new FileInfo(path); try { if (nfile.Exists) { nfile.Delete(); } } catch (Exception ex) { throw ex; } myPdfDocument.SaveToFileStream(path); fsout = new FileStream(path, System.IO.FileMode.Open, System.IO.FileAccess.Read); } catch (Exception ex) { if (fsout != null) { fsout.Close(); } throw ex; } return(fsout); }
public Stream GenerateSelectedTasksPDF(IEnumerable <SelectedTask> selectedTasks, ReportInfo reportInfo) { int countSelectedTasks = selectedTasks.Count(); int totalNoiseDosage = selectedTasks.Sum(x => x.Percentage); NoiseLevelEnum noiseLevelEnum = _noiseLevelService.CalculateNoiseLevelEnum(totalNoiseDosage); Color noiseLevelColor = GetColorForNoiseLevel(noiseLevelEnum); DataTable dataTable = GenerateDataTable(selectedTasks); // Starting instantiate the document. // Remember to set the Docuement Format. In this case, we specify width and height. PdfDocument myPdfDocument = new PdfDocument(PdfDocumentFormat.A4_Horizontal); // Now we create a Table with lines likt the number of selected tasks, 6 columns and 4 points of Padding. PdfTable myPdfTable = myPdfDocument.NewTable(new Font("Verdana", 12), countSelectedTasks, 6, 4); // Importing datas from the datatables... (also column names for the headers!) myPdfTable.ImportDataTable(dataTable); // Now we set our Graphic Design: Colors and Borders... myPdfTable.HeadersRow.SetColors(Color.FromRgb(255, 255, 255), Color.FromRgb(0, 0, 255)); myPdfTable.SetColors(Color.FromRgb(0, 0, 0), Color.FromRgb(255, 255, 255), Color.FromRgb(0, 255, 255)); myPdfTable.SetBorders(Color.FromRgb(0, 0, 0), 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[] { 90, 25, 45, 20, 20, 10 }); // Now we set some alignment... for the whole table and then, for a column. myPdfTable.SetContentAlignment(ContentAlignment.MiddleCenter); foreach (PdfColumn pdfColumn in myPdfTable.Columns) { pdfColumn.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(); // LAKHA PdfArea pdfArea = new PdfArea(myPdfDocument, 48, 95, 750, 670); PdfTablePage taskTable = myPdfTable.CreateTablePage(pdfArea); // we also put a Label PdfTextArea reportTitle = new PdfTextArea(new Font("Verdana", 26, FontStyle.Bold), Color.FromRgb(0, 0, 0) , new PdfArea(myPdfDocument, 48, 20, 595, 60), ContentAlignment.TopLeft, ReportResource.ReportTitle); // LAKHA - Status PdfTextArea statusText = new PdfTextArea(new Font("Verdana", 14, FontStyle.Bold), Color.FromRgb(0, 0, 0) , new PdfArea(myPdfDocument, 48, taskTable.CellArea(taskTable.LastRow, 6 - 1).BottomRightCornerY + 10, 595, 60), ContentAlignment.TopLeft, _noiseLevelService.GetNoiseLevelStatusText(noiseLevelEnum)); // LAKHA - Total prosent PdfRectangle summaryBackground = new PdfArea(myPdfDocument, 635, taskTable.CellArea(taskTable.LastRow, 6 - 1).BottomRightCornerY + 10, 165, 45).ToRectangle(noiseLevelColor, noiseLevelColor); PdfTextArea summary = new PdfTextArea(new Font("Verdana", 26, FontStyle.Bold), Color.FromRgb(0, 0, 0) , new PdfArea(myPdfDocument, 640, taskTable.CellArea(taskTable.LastRow, 6 - 1).BottomRightCornerY + 20, 595, 60), ContentAlignment.TopLeft, string.Format(ReportResource.TotalPercentageFormatString, totalNoiseDosage)); // nice thing: we can put all the objects in the following lines, so we can have // a great control of layer sequence... newPdfPage.Add(taskTable); newPdfPage.Add(reportTitle); newPdfPage.Add(statusText); newPdfPage.Add(summaryBackground); newPdfPage.Add(summary); // Info from report input window PdfTextArea reportPlant = new PdfTextArea(new Font("Verdana", 12, FontStyle.Bold), Color.FromRgb(0, 0, 0) , new PdfArea(myPdfDocument, 48, 50, 595, 60), ContentAlignment.TopLeft, string.Format(ReportResource.PlantFormatString, reportInfo.Plant)); PdfTextArea reportCreatedBy = new PdfTextArea(new Font("Verdana", 12, FontStyle.Bold), Color.FromRgb(0, 0, 0) , new PdfArea(myPdfDocument, 650, 50, 595, 60), ContentAlignment.TopLeft, string.Format(ReportResource.UserFormatString, reportInfo.CreatedBy)); PdfTextArea reportProfession = new PdfTextArea(new Font("Verdana", 12, FontStyle.Bold), Color.FromRgb(0, 0, 0) , new PdfArea(myPdfDocument, 48, 65, 595, 60), ContentAlignment.TopLeft, string.Format(ReportResource.ProfessionFormatString, reportInfo.Group)); PdfTextArea reportDate = new PdfTextArea(new Font("Verdana", 12, FontStyle.Bold), Color.FromRgb(0, 0, 0) , new PdfArea(myPdfDocument, 650, 65, 595, 60), ContentAlignment.TopLeft, string.Format(ReportResource.DateFormatString, (reportInfo.Date.HasValue) ? reportInfo.Date.Value.ToString("dd.MM.yyyy") : string.Empty)); PdfTextArea reportComment = new PdfTextArea(new Font("Verdana", 12, FontStyle.Bold), Color.FromRgb(0, 0, 0) , new PdfArea(myPdfDocument, 48, 80, 700, 60), ContentAlignment.TopLeft, string.Format(ReportResource.CommentFormatString, reportInfo.Comment)); newPdfPage.Add(reportPlant); newPdfPage.Add(reportCreatedBy); newPdfPage.Add(reportProfession); newPdfPage.Add(reportDate); newPdfPage.Add(reportComment); // LAKHA - Add footnotes... const int widthOfFootnote = 750; Font footnoteFont = new Font("Verdana", 9, FontStyle.Regular); double posY = statusText.PdfArea.BottomRightCornerY + 3; foreach (string footNoteText in reportInfo.Footnotes) { int heightOfFootnote = 10; if (footNoteText.Length > 380) { heightOfFootnote = heightOfFootnote * 3; } else if (footNoteText.Length > 160) { heightOfFootnote = heightOfFootnote * 2; } PdfArea pdfAreaForText = new PdfArea(myPdfDocument, 48, posY, widthOfFootnote, heightOfFootnote); PdfTextArea footNote = new PdfTextArea(footnoteFont, Color.FromRgb(0, 0, 0), pdfAreaForText, ContentAlignment.TopLeft, string.Format("* {0}", footNoteText)); newPdfPage.Add(footNote); posY = footNote.PdfArea.BottomRightCornerY + 2; } // we save each generated page before start rendering the next. newPdfPage.SaveToDocument(); } // Finally we save the docuement... Stream memoryStream = new MemoryStream(); myPdfDocument.SaveToStream(memoryStream); memoryStream.Seek(0, SeekOrigin.Begin); return(memoryStream); }
public Stream SaveAsStream() { table.EndLoadData(); table.AcceptChanges(); var removes = new List <string>(); foreach (DataColumn dc in table.Columns) { if (title.IndexOf(dc.ColumnName) == -1) { removes.Add(dc.ColumnName); } } foreach (var name in removes) { table.Columns.Remove(name); } var pdfTitle = table.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), table.Rows.Count, table.Columns.Count, 4); // Importing datas from the datatables... (also column names for the headers!) //myPdfTable.ImportDataTable(Table); myPdfTable.ImportDataTable(table); // 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); }
internal string ToLineStream() { System.Text.StringBuilder sb = new StringBuilder(); // draw background rectangles for (int rowIndex = this.renderingIndex; (rowIndex < this.renderingIndex + this.renderingRows); rowIndex++) { for (int columnIndex = 0; columnIndex < this.columns; columnIndex++) { PdfCell pc = this.Cell(rowIndex, columnIndex); if (!pc.isSpanned) { if (!pc.transparent) { sb.Append(pc.Area.InnerArea(1).ToRectangle(pc.backgroundColor , pc.backgroundColor).ToLineStream()); } } } } sb.Append("BT\n"); Font actualFont = null; Color actualColor = Color.Black; sb.Append(Utility.ColorrgLine(Color.Black)); for (int rowIndex = this.renderingIndex; (rowIndex < this.renderingIndex + this.renderingRows); rowIndex++) { for (int columnIndex = 0; columnIndex < this.columns; columnIndex++) { PdfCell pc = this.Cell(rowIndex, columnIndex); if (!pc.isSpanned) { PdfTextArea pt = new PdfTextArea(pc.Font, pc.foregroundColor , pc.Area.InnerArea(pc.cellPadding * 2), pc.ContentAlignment, pc.text); if (pc.Font != actualFont) { string actualFontLine = Utility.FontToFontLine(pc.Font); if (!this.PdfDocument.FontNameList.Contains(PdfFont.FontToPdfType(pc.Font))) { this.PdfDocument.AddFont(pc.Font); } sb.Append(actualFontLine); actualFont = pc.Font; } if (pc.foregroundColor != actualColor) { sb.Append(Utility.ColorrgLine(pc.foregroundColor)); actualColor = pc.foregroundColor; } sb.Append(pt.ToLineStream()); } } } sb.Append("ET\n"); if (this.borderWidth > 0) { sb.Append(new PdfRectangle(this.PdfDocument, new PdfArea(this.PdfDocument, 0, 0, 1, 1), this.borderColor , this.borderWidth).ToColorAndWidthStream()); int bt = (int)this.borderType; if ((bt == 1) || (bt == 3) || (bt == 5) || (bt == 6)) { sb.Append(this.TableArea.ToRectangle(this.borderColor, this.borderWidth).ToRectangleStream()); } for (int rowIndex = this.renderingIndex; (rowIndex < this.renderingIndex + this.renderingRows); rowIndex++) { for (int columnIndex = 0; columnIndex < this.columns; columnIndex++) { PdfCell pc = this.Cell(rowIndex, columnIndex); if (!pc.isSpanned) { if (rowIndex != this.renderingIndex) { if ((bt == 6) || (bt == 2) || (bt == 3) || (bt == 7)) { sb.Append(pc.Area.UpperBound(this.borderColor, this.borderWidth).ToLineStream()); } } if (columnIndex != 0) { if ((bt == 6) || (bt == 4) || (bt == 5) || (bt == 7)) { sb.Append(pc.Area.LeftBound(this.borderColor, this.borderWidth).ToLineStream()); } } } } } } return(sb.ToString()); }