Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
            }
        }
Пример #7
0
        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) { }
        }
Пример #8
0
        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) {}
        }
Пример #9
0
        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);
            }
        }
Пример #10
0
        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);
        }
Пример #11
0
        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);
        }
Пример #12
0
        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);
        }
Пример #13
0
        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);
        }
Пример #14
0
        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);
                }
            }
        }
Пример #18
0
        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
        {
        }
    }
Пример #20
0
        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);
        }
Пример #21
0
        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);
        }
Пример #22
0
        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);
        }
Пример #23
0
        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());
        }