ScaleAbsoluteHeight() public method

Scale the image to an absolute height.
public ScaleAbsoluteHeight ( float newHeight ) : void
newHeight float the new height
return void
Example #1
0
        public void Guardar(Chart chart1 )
        {
            pag++;
            var chartimage = new MemoryStream();

            chart1.SaveImage(chartimage, ChartImageFormat.Png);

            iTextSharp.text.Image Chart_image = iTextSharp.text.Image.GetInstance(chartimage.GetBuffer());

            //  Chart_image.ScalePercent(98.6f);
            // iTextSharp.text.Image Chart_image = iTextSharp.text.Image.GetInstance(chartimage);// 'Dirreccion a la imagen que se hace referencia

            Chart_image.SetAbsolutePosition(x,y);// 'Posicion en el eje cartesiano

               Chart_image.ScaleAbsoluteWidth(270);// 'Ancho de la imagen
            Chart_image.ScaleAbsoluteHeight(160);// 'Altura de la imagen
            doc.Add(Chart_image);// ' Agrega la imagen al documento

            if (pag ==8) { doc.NewPage();
                iTextSharp.text.Rectangle pageType = iTextSharp.text.PageSize.A4;
                PdfContentByte cb = writer.DirectContent;
                cb.MoveTo(marginLeft, marginTop);
                cb.LineTo(1, marginTop);
                cb.Stroke();
               /*

            */
                x = 10; y = 600; pag = 0;cont = 0; }
        }
        private void button22_Click(object sender, EventArgs e)
        {
            Document       pdoc = new Document(PageSize.A4, 40f, 40f, 30f, 30f);
            SaveFileDialog SFD  = new SaveFileDialog();

            SFD.Filter = "JPG(*.JPG)|*.jpg";
            if (SFD.ShowDialog() == DialogResult.OK)
            {
                string    path    = SFD.FileName + ".pdf";
                PdfWriter pwriter = PdfWriter.GetInstance(pdoc, new FileStream(path, FileMode.Create));
                pdoc.Open();
                for (int i = 0; i < Images_Names.Count; i++)
                {
                    System.Drawing.Image  pImage     = System.Drawing.Image.FromFile(Images_Names[i]);
                    iTextSharp.text.Image Itextimage = iTextSharp.text.Image.GetInstance(pImage, System.Drawing.Imaging.ImageFormat.Jpeg);
                    Itextimage.Alignment = Element.ALIGN_CENTER;
                    Itextimage.ScaleAbsoluteHeight(800);
                    Itextimage.ScaleAbsoluteWidth(600);
                    pdoc.Add(Itextimage);
                }
                MessageBox.Show("Images Saved Successfully");
                pdoc.Close();
                grb_convert_img_pdf.Visible = false;
                lbl_formload.Visible        = true;
                timer1.Start();
            }
        }
Example #3
0
        private void To_pdf()
        {
            Document       doc             = new Document(PageSize.LETTER, 10f, 10f, 10f, 0f);
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();

            iTextSharp.text.Image image1 = iTextSharp.text.Image.GetInstance("LogoCepeda.png");
            image1.ScaleAbsoluteWidth(140);
            image1.ScaleAbsoluteHeight(70);
            saveFileDialog1.InitialDirectory = @"C:";
            saveFileDialog1.Title            = "Guardar Reporte";
            saveFileDialog1.DefaultExt       = "pdf";
            saveFileDialog1.Filter           = "pdf Files (*.pdf)|*.pdf| All Files (*.*)|*.*";
            saveFileDialog1.FilterIndex      = 2;
            saveFileDialog1.RestoreDirectory = true;
            string filename = "Reporte de Movimiento de Caja" + DateTime.Now.ToString();

            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                filename = saveFileDialog1.FileName;
                if (filename.Trim() != "")
                {
                    FileStream file = new FileStream(filename,
                                                     FileMode.OpenOrCreate,
                                                     FileAccess.ReadWrite,
                                                     FileShare.ReadWrite);
                    PdfWriter.GetInstance(doc, file);
                    doc.Open();
                    string remito  = lblLogo.Text;
                    string ubicado = lblDir.Text;
                    string envio   = "Fecha : " + DateTime.Today.Day + "/" + DateTime.Today.Month + "/" + DateTime.Today.Year;

                    Chunk chunk = new Chunk(remito, FontFactory.GetFont("ARIAL", 16, iTextSharp.text.Font.BOLD, color: BaseColor.BLUE));
                    doc.Add(new Paragraph("                                                                                                                                                                                                                                                     " + envio, FontFactory.GetFont("ARIAL", 7, iTextSharp.text.Font.ITALIC)));
                    doc.Add(image1);
                    doc.Add(new Paragraph(chunk));
                    doc.Add(new Paragraph(ubicado, FontFactory.GetFont("ARIAL", 9, iTextSharp.text.Font.NORMAL)));
                    doc.Add(new Paragraph("                       "));
                    doc.Add(new Paragraph("Reporte de Movimientos de Caja                      "));
                    doc.Add(new Paragraph("                       "));
                    GenerarDocumento(doc);
                    doc.Add(new Paragraph("                       "));
                    doc.Add(new Paragraph("                       "));
                    doc.Add(new Paragraph("Reporte de Gastos del Dia                           "));
                    doc.Add(new Paragraph("                       "));
                    GenerarDocumentogastos(doc);
                    doc.Add(new Paragraph("                       "));
                    doc.Add(new Paragraph("                       "));
                    doc.Add(new Paragraph("Totales de Pagos :" + lbling.Text));
                    doc.Add(new Paragraph("Totales de Gastos :" + lbldeu.Text));
                    doc.Add(new Paragraph("Totales Final :" + lbltotal.Text));
                    doc.AddCreationDate();
                    doc.Close();
                    Process.Start(filename);//Esta parte se puede omitir, si solo se desea guardar el archivo, y que este no se ejecute al instante
                }
            }
            else
            {
                MessageBox.Show("No guardo el Archivo");
            }
        }
Example #4
0
        public static void ConvertFirstApproach()
        {
            // creation of the document with a certain size and certain margins
            iTextSharp.text.Document document = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4, 0, 0, 0, 0);

            // creation of the different writers
            iTextSharp.text.pdf.PdfWriter writer = iTextSharp.text.pdf.PdfWriter.GetInstance(document, new System.IO.FileStream(@"C:\Users\Mohd\Documents\visual studio 2013\Projects\TiffToPDF\TiffToPDF\tiff.tif.pdf", System.IO.FileMode.Create));

            // load the tiff image and count the total pages
            System.Drawing.Bitmap bm = new System.Drawing.Bitmap(@"C:\Users\Mohd\Documents\visual studio 2013\Projects\TiffToPDF\TiffToPDF\tiff.tif");
            int total = bm.GetFrameCount(System.Drawing.Imaging.FrameDimension.Page);

            document.Open();
            iTextSharp.text.pdf.PdfContentByte cb = writer.DirectContent;
            for (int k = 0; k < total; ++k)
            {
                bm.SelectActiveFrame(System.Drawing.Imaging.FrameDimension.Page, k);

                iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(bm, ImageFormat.Jpeg);
                img.SetAbsolutePosition(0, 0);
                img.ScaleAbsolute(500, 500);
                //  img.ScalePercent(72f / img.DpiX * 100);
                img.ScaleAbsoluteHeight(document.PageSize.Height);
                img.ScaleAbsoluteWidth(document.PageSize.Width);
                //    img.CompressionLevel = 1;
                //    img.Deflated = true;
                cb.AddImage(img);

                document.NewPage();
            }
            document.Close();
        }
Example #5
0
        public Image GenerateLogo()
        {
            Image image = Image.GetInstance(LOGO.GetLogoPath());

            //原长度为1.5f
            image.ScaleAbsoluteHeight(UNIT * 1.3f);
            image.ScaleAbsoluteWidth(UNIT * 1.3f);
            return(image);
        }
Example #6
0
        public IHttpActionResult CreatePdfForCreator(string fullName, string profession, string workPhone, string text, string signDate, string qrCodeLocation, string fileLocation)
        {
            using (var fileStream = new FileStream(fileLocation, FileMode.Create, FileAccess.Write))
            {
                iTextSharp.text.Document document = new iTextSharp.text.Document(PageSize.A4, 25, 25, 30, 30);
                var writer = PdfWriter.GetInstance(document, fileStream);
                document.Open();

                var arialFontPath = HttpContext.Current.Server.MapPath("/Template/ARIALUNI.TTF");
                FontFactory.Register(arialFontPath);
                var baseFont = BaseFont.CreateFont(arialFontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

                var contentByte = writer.DirectContent;
                contentByte.BeginText();
                contentByte.SetFontAndSize(baseFont, 12f);

                string executorName = $"{fullName}";
                string prof         = $"{profession}";
                string phone        = $"{workPhone}";
                string docNumber    = $"{text}";
                string date         = $"{signDate}";

                Rectangle pageSize = new Rectangle(document.PageSize);

                contentByte.EndText();
                contentByte.SetLineWidth(0f);
                contentByte.MoveTo(50, document.Bottom + 27f);
                contentByte.LineTo(553, document.Bottom + 27f);
                contentByte.Stroke();
                contentByte.BeginText();
                contentByte.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "İcraçı:", 50, 130, 0);
                contentByte.ShowTextAligned(PdfContentByte.ALIGN_LEFT, prof + " " + executorName, 50, 105, 0);
                contentByte.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "Telefon: " + phone, 50, 80, 0);
                contentByte.ShowTextAligned(PdfContentByte.ALIGN_LEFT, docNumber, 50, 42, 0);
                contentByte.ShowTextAligned(PdfContentByte.ALIGN_LEFT, date, 50, 27, 0);


                Image image = Image.GetInstance(qrCodeLocation);
                image.ScaleAbsoluteWidth(54.5f);
                image.ScaleAbsoluteHeight(48.5f);
                image.SetAbsolutePosition(pageSize.Width - 96, 5);
                contentByte.AddImage(image, false);

                contentByte.EndText();


                document.Close();
                writer.Close();
                fileStream.Close();
            }

            return(Ok(true));
        }
Example #7
0
        public Image GenerateQRCode(string data)
        {
            MyBarcodeQRCode qrcode = new MyBarcodeQRCode(data, 100, 100, null);

            System.Drawing.Image qrOriginalImage = qrcode.GetImage();
            System.Drawing.Image img2            = ImageUtil.CropUnwantedBackground(new Bitmap(qrOriginalImage));
            Image newQrCodeImage = Image.GetInstance(imageToByteArray(img2));

            newQrCodeImage.ScaleAbsoluteWidth(UNIT * 2.88854286f);
            newQrCodeImage.ScaleAbsoluteHeight(UNIT * 2.88854286f);
            newQrCodeImage.IndentationLeft = 80f;
            return(newQrCodeImage);
        }
Example #8
0
        //private string Create_Tr(IEnumerable<Warehouse> ware)
        //{
        //    var returnstring = string.Empty;

        //    for (int i = 0; i < ware.Count(); i++)
        //    {
        //        returnstring = returnstring + "<tr><td>" + ware
        //    }
        //}

        public void OpenPdf()
        {
            Byte[] bytes;

            using (var ms = new MemoryStream())
            {
                using (var doc = new Document(PageSize.A3, 5, 5, 5, 5)) {
                    using (var writer = PdfWriter.GetInstance(doc, ms)) {
                        doc.Open();
                        var example_html = System.IO.File.ReadAllText(Server.MapPath("~/Views/WareHouse/Receipt.cshtml"));
                        var example_css  = System.IO.File.ReadAllText(Server.MapPath("~/Content/print.css"));

                        iTextSharp.text.Image png     = iTextSharp.text.Image.GetInstance(Server.MapPath("/Images/LOGO_cargo.jpg"));
                        iTextSharp.text.Image barCode = iTextSharp.text.Image.GetInstance(Server.MapPath("/Images/qrcode.png"));

                        png.ScaleAbsoluteWidth(100);
                        png.ScaleAbsoluteHeight(80);

                        barCode.ScaleAbsoluteWidth(100);
                        barCode.ScaleAbsoluteHeight(100);

                        //png.SetAbsolutePosition(10f, doc.PageSize.Height - 90f);
                        barCode.SetAbsolutePosition(doc.PageSize.Width - 36f - 68f, doc.PageSize.Height - 36f - 81.6f);

                        doc.Add(barCode);
                        doc.Add(png);

                        example_html = example_html.Replace("[[LOGO]]", "Hola inmundo");

                        using (var msCss = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(example_css)))
                        {
                            using (var msHtml = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(example_html)))
                            {
                                //Parse the HTML
                                iTextSharp.tool.xml.XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, msHtml, msCss);
                            }
                        }


                        doc.Close();
                    }
                }
                bytes = ms.ToArray();
                var testFile = Path.Combine(Server.MapPath("~/Reports/Warehouse/Receipts"), "Receipt.pdf");
                System.IO.File.WriteAllBytes(testFile, bytes);
                Response.ContentType = "Application/pdf";
                Response.TransmitFile(Server.MapPath("~/Reports/Warehouse/Receipts/Receipt.pdf"));
            }
        }
Example #9
0
        public MemoryStream ImagenA4(byte[] files)
        {
            try
            {
                Document doc = new Document(PageSize.A4, 0f, 0f, 0f, 0f);

                var tamañaPagina = doc.PageSize;

                iTextSharp.text.Image imagen1 = iTextSharp.text.Image.GetInstance(files);


                if (imagen1.Width > imagen1.Height)
                {
                    doc.SetPageSize(PageSize.A4.Rotate());
                }
                if (imagen1.Width > doc.PageSize.Width)
                {
                    //float nuevoAncho = doc.PageSize.Width;
                    imagen1.ScaleAbsoluteWidth(doc.PageSize.Width);
                }
                if (imagen1.Height > doc.PageSize.Height)
                {
                    //float nuevoAlto = doc.PageSize.Height;
                    imagen1.ScaleAbsoluteHeight(doc.PageSize.Height);
                }



                MemoryStream file   = new MemoryStream();
                PdfWriter    writer = PdfWriter.GetInstance(doc, file);
                //writer.Open();
                doc.AddAuthor("JAC");
                doc.AddTitle("A4Imagen");
                doc.Open();

                imagen1.Alignment = Element.ALIGN_MIDDLE;
                doc.Add(imagen1);
                doc.Close();

                return(file);
            }

            catch (Exception ex)
            {
                return(null);
            }
        }
Example #10
0
        public bool HTMLToPDF(IniciativaBE entidad)
        {
            bool validar = true;

            try
            {
                StringWriter sw    = new StringWriter();
                string       shtml = BuildFicha(entidad.ID_INICIATIVA, entidad.ID_PLAZO_ETAPA_ESTADO);
                sw.WriteLine(shtml);
                StringReader sr         = new StringReader(sw.ToString());
                Document     pdfDoc     = new Document();
                HTMLWorker   htmlparser = new HTMLWorker(pdfDoc);

                string rut = WebConfigurationManager.AppSettings["RutaTemp"];

                PdfWriter.GetInstance(pdfDoc, new FileStream(rut + "\\" + entidad.NOMBRE_PDF, FileMode.Create));
                string fullimagepath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"images\header.jpg");
                //string image2 = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"images\logo-minem.jpg");
                pdfDoc.Open();
                //var p = new Paragraph("");
                //p.SpacingBefore = 200;
                //p.SpacingAfter = 0;
                //p.Alignment = 1; //0-Left, 1 middle,2 Right
                //pdfDoc.Add(p);
                iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(fullimagepath);
                //iTextSharp.text.Image imageF2 = iTextSharp.text.Image.GetInstance(image2);
                //image.ScalePercent(20f);
                //imageF2.ScaleAbsolute(250, 750);
                //imageF2.ScalePercent(10f);
                image.ScaleAbsoluteWidth(450);
                image.ScaleAbsoluteHeight(40);
                image.Alignment = 1;
                //imageF2.Alignment = 2;
                pdfDoc.Add(image);
                //pdfDoc.Add(imageF2);

                htmlparser.Parse(sr);
                pdfDoc.Close();
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                validar = false;
            }
            return(validar);
        }
Example #11
0
        public static MemoryStream ImagenA4(HttpPostedFileBase files, float ancho, float largo)
        {
            byte[] data;
            using (Stream inputStream = files.InputStream)
            {
                MemoryStream memoryStream = inputStream as MemoryStream;
                if (memoryStream == null)
                {
                    memoryStream = new MemoryStream();
                    inputStream.CopyTo(memoryStream);
                }
                data = memoryStream.ToArray();
            }

            Document doc = new Document(new Rectangle(ancho, largo), 0f, 0f, 0f, 0f);

            iTextSharp.text.Image imagen1 = iTextSharp.text.Image.GetInstance(data);

            if (imagen1.Width > imagen1.Height)
            {
                doc.SetPageSize(new Rectangle(ancho, largo).Rotate());
            }
            if (imagen1.Width > doc.PageSize.Width)
            {
                imagen1.ScaleAbsoluteWidth(doc.PageSize.Width);
            }
            if (imagen1.Height > doc.PageSize.Height)
            {
                imagen1.ScaleAbsoluteHeight(doc.PageSize.Height);
            }

            MemoryStream file   = new MemoryStream();
            PdfWriter    writer = PdfWriter.GetInstance(doc, file);

            doc.AddAuthor("JAC");
            doc.AddTitle("A4Imagen");
            doc.Open();

            imagen1.Alignment = Element.ALIGN_MIDDLE;
            doc.Add(imagen1);
            doc.Close();

            return(file);
        }
Example #12
0
        public static iTextSharp.text.Image GetBarcodeImage(PdfContentByte cb, string barcodeText, int width, int height)
        {
            if (string.IsNullOrWhiteSpace(barcodeText))
            {
                barcodeText = "123123123";
            }

            Barcode128 code128 = new Barcode128();

            code128.CodeType         = iTextSharp.text.pdf.Barcode.CODE128;
            code128.ChecksumText     = true;
            code128.GenerateChecksum = true;
            code128.StartStopText    = true;
            code128.Code             = barcodeText;
            iTextSharp.text.Image image = code128.CreateImageWithBarcode(cb, BaseColor.BLACK, BaseColor.BLACK);
            image.ScaleAbsoluteWidth(width);
            image.ScaleAbsoluteHeight(height);
            return(image);
        }
Example #13
0
        public void ImagensParaPDF(string ImagemCaminhoOrigem, string caminhoSaidaPDF)
        {
            string[] caminhoImagens = GetImageFiles(ImagemCaminhoOrigem);

            if (caminhoImagens.Length > 0)
            {
                string pdfpath = caminhoSaidaPDF + ImagemCaminhoOrigem.Substring(ImagemCaminhoOrigem.LastIndexOf("\\")) + ".pdf";

                if (File.Exists(pdfpath))
                {
                    pdfpath = SetNewName(caminhoSaidaPDF, ImagemCaminhoOrigem.Substring(ImagemCaminhoOrigem.LastIndexOf("\\") + 1));
                }

                using (var doc = new iTextSharp.text.Document())
                {
                    iTextSharp.text.pdf.PdfWriter.GetInstance(doc, new FileStream(pdfpath, FileMode.Create));
                    doc.Open();

                    foreach (var item in caminhoImagens)
                    {
                        iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(item);

                        //image.SetAbsolutePosition(30f, 30f);
                        if (checkBoxScalebyImageSize.Checked)
                        {
                            image.ScaleToFit(doc.PageSize.Width - 60, doc.PageSize.Height - 60);
                        }
                        else
                        {
                            image.ScaleAbsoluteHeight(doc.PageSize.Height - 60);
                            image.ScaleAbsoluteWidth(doc.PageSize.Width - 60);
                        }
                        doc.Add(image);
                    }
                }
            }
            else
            {
                MessageBox.Show("Imagem não encontrada.", "Pare!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Example #14
0
    PdfPTable WarningIcon(string url)
    {
        PdfPTable subTable = new PdfPTable(1);

        subTable.SplitLate     = false;
        subTable.SpacingBefore = 1;
        subTable.SetWidths(new float[] { 1 });
        // string url = this.BaseUrl + "images/" + name + ".png";
        iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(url);
        // img.ScaleToFit(this.IconSize - 10, this.IconSize - 10);
        img.ScaleAbsoluteHeight(25);
        img.ScaleAbsoluteWidth(25);
        Chunk ch = new Chunk(img, 0, 0);

        PdfPCell c   = new PdfPCell();
        Phrase   ph1 = new Phrase();

        ph1.Font.Size = 5;
        ph1.Add("t");

        for (int i = 0; i < 2; i++)
        {
            c        = new PdfPCell();
            c.Border = 0;
            c.SetLeading(1, 0);
            if (i == 1)
            {
                c.AddElement(ch);
            }
            else
            {
                continue;
                c.FixedHeight = 5;
                c.AddElement(ph1);
            }
            subTable.AddCell(c);
        }
        subTable.DefaultCell.Border = 0;
        return(subTable);
    }
Example #15
0
        public byte[] PdfGeneration(byte[] byteImage)
        {
            iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(byteImage);

            using (MemoryStream memoryStream = new System.IO.MemoryStream())
            {
                Document document = new Document(PageSize.A4, 10f, 10f, 10f, 10f);
                //string path2 = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath + "signatureimage";
                //string filename2 = "test.pdf";
                //string filepath2 = System.IO.Path.Combine(path2, filename2);
                // PdfWriter.GetInstance(document, new FileStream(filepath2, FileMode.Create));
                image.SetAbsolutePosition(0, 0);
                image.ScaleAbsoluteHeight(document.PageSize.Height);
                image.ScaleAbsoluteWidth(document.PageSize.Width);
                iTextSharp.text.pdf.PdfWriter writer = iTextSharp.text.pdf.PdfWriter.GetInstance(document, memoryStream);
                document.Open();
                document.Add(image);
                document.Close();
                byte[] bytes = memoryStream.ToArray();
                memoryStream.Close();
                return(bytes);
            }
        }
Example #16
0
    public void CreateImageFromUrl(PdfPTable t, string url, int colSpan = 1)
    {
        PdfPCell c;

        iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(url);

        float h = 7;
        float w = img.Width * h / img.Height;

        if (w > 2.2f * this.Scale)
        {
            w = 2.2f * this.Scale;
        }
        img.ScaleAbsoluteWidth(w);
        img.ScaleAbsoluteHeight(h);

        c = new PdfPCell(img);
        // c.Border = 0;
        c.Padding             = 5;
        c.HorizontalAlignment = PdfPCell.ALIGN_CENTER;
        c.Colspan             = colSpan;
        t.AddCell(c);
    }
Example #17
0
        private void ConvertButton_Click(object sender, EventArgs e)
        {
            convertButton.Enabled = false;
            if (sourcePath.Text == "" || destinationPath.Text == "")
            {
                MessageBox.Show("Select paths to create PDF.", "Invalid Input");
                convertButton.Enabled = true;
                return;
            }

            Document document = new Document();

            using (var stream = new FileStream(destinationPath.Text + "\\" + this.fname + ".pdf", FileMode.Create, FileAccess.Write, FileShare.None))
            {
                PdfWriter.GetInstance(document, stream);
                document.Open();
                using (FileStream imageStream = new FileStream(sourcePath.Text, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                {
                    iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(imageStream);
                    image.SetAbsolutePosition(0, 0);

                    if (image.ScaledHeight > document.PageSize.Height)
                    {
                        image.ScaleAbsoluteHeight(document.PageSize.Height);
                    }

                    if (image.ScaledWidth > document.PageSize.Width)
                    {
                        image.ScaleAbsoluteWidth(document.PageSize.Width);
                    }

                    document.Add(image);
                }
                document.Close();
            }
            convertButton.Enabled = true;
        }
Example #18
0
    public void AddImageFromUrl11(PdfPTable t, string url, int colSpan = 1, int HorizontalAlignment = PdfPCell.ALIGN_CENTER)
    {
        //  t.AddCell(this.WarningIcon(url)); return;
        iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(url);
        float size = 30;

        // img.ScaleToFit(size, size);
        img.ScaleAbsoluteWidth(size);
        img.ScaleAbsoluteHeight(size);
        Chunk    ch = new Chunk(img, 0, 0);
        PdfPCell c  = new PdfPCell();

        c.AddElement(ch);
        c.Colspan = colSpan;

        //        image1.SetAbsolutePosition((PageSize.A4.Width - image1.ScaledWidth) / 2, (PageSize.A4.Height - image1.ScaledHeight) / 2);

        c.FixedHeight         = 50;
        c.HorizontalAlignment = PdfPCell.ALIGN_CENTER;
        c.VerticalAlignment   = Element.ALIGN_MIDDLE;
        img.ScaleAbsolute(200, 50);

        t.AddCell(c);
    }
Example #19
0
        public void FormPDFN(Bitmap i1, Bitmap i2, Bitmap i3, string[] args, string NRUB, string GAng, int[,] KNRA)    //Bitmap i1, Bitmap i2, Bitmap i3, string[] args, string NRUB, string N1, string N2, string N3)//public void FormPDF(System.IO.Stream i1, System.IO.Stream i2, System.IO.Stream i3, string[] args)
        {
            Puti[19] = System.Windows.Forms.SystemInformation.ComputerName.ToString();
            MySqlCommand command2 = new MySqlCommand();
            ConnectStr   conStr2  = new ConnectStr();

            conStr2.ConStr(1);
            Zapros zapros2 = new Zapros();
            string connectionString2;        //, commandString;

            connectionString2 = conStr2.StP; //"Data source=localhost;UserId=root;Password=1q2w3e$R;database=camloc;";
            MySqlConnection connection2 = new MySqlConnection(connectionString2);

            zapros2.NastrPuti(0, Puti[19]);
            string z2 = zapros2.commandStringTest;

            command2.CommandText = z2;
            command2.Connection  = connection2;
            MySqlDataReader reader2;

            try
            {
                command2.Connection.Open();
                reader2 = command2.ExecuteReader();
                while (reader2.Read())
                {
                    Puti[0] = reader2["IDPut"].ToString();
                    Puti[1] = reader2["Rab_mesto"].ToString();
                    Puti[2] = reader2["Photo"].ToString();
                    Puti[3] = reader2["XML_Ang"].ToString();
                    Puti[4] = reader2["Akt_Arch"].ToString();
                    Puti[5] = reader2["CompName"].ToString();
                }

                reader2.Close();
            }
            catch (MySqlException ex)
            {
                Console.WriteLine("Error: \r\n{0}", ex.ToString());
            }
            finally
            {
                command2.Connection.Close();
            }


            String dir         = Environment.CurrentDirectory; //получаем текущую рабочую папку приложения
            String dir1        = Application.StartupPath;      //получаем папку из которой произошел запуск приложения
            var    pdfTemplate = @"" + dir1 + "\\AKT.pdf";

            if (Puti[5] == "WIN-D3J6PR1H9QK")
            {
                pdfFile = @"F:\\archiv\\AKT\\" + GAng + ".pdf";
            }                                                  //args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + ".pdf";
            else
            {
                pdfFile = @"" + Puti[3] + GAng + ".pdf";
            };
            pf = GAng;//args[259] + "_" + DateTime.Now.ToString("ddMMyyyy");
            using (var templateReader = new PdfReader(pdfTemplate))

            {
                if (i1 != null)
                {
                    System.Drawing.Bitmap imgg = new System.Drawing.Bitmap(i1);
                    imag = iTextSharp.text.Image.GetInstance(imgg, System.Drawing.Imaging.ImageFormat.Jpeg);// @"C:\Users\cherednikov\Pictures\original22.jpg");
                    if (Puti[5] == "WIN-D3J6PR1H9QK")
                    {
                        imgg.Save(@"F:\\archiv\\AKT\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_1.Jpg");
                    }
                    else
                    {
                        imgg.Save(@"" + Puti[3] + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_1.Jpg");

                        //File.Copy(@"" + N1, @"" + Puti[3] + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_1.png");
                    };
                }
                if (i2 != null)
                {
                    System.Drawing.Bitmap imgg2 = new System.Drawing.Bitmap(i2);
                    imag2 = iTextSharp.text.Image.GetInstance(imgg2, System.Drawing.Imaging.ImageFormat.Jpeg);
                    if (Puti[5] == "WIN-D3J6PR1H9QK")
                    {
                        imgg2.Save(@"F:\\archiv\\AKT\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_2.Jpg");
                    }
                    else
                    {
                        imgg2.Save(@"" + Puti[3] + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_2.Jpg");
                        //File.Copy(@"" + N2, @"" + Puti[3] + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_2.png");
                    };
                }
                if (i3 != null)
                {
                    System.Drawing.Bitmap imgg3 = new System.Drawing.Bitmap(i3);
                    imag3 = iTextSharp.text.Image.GetInstance(imgg3, System.Drawing.Imaging.ImageFormat.Jpeg);
                    if (Puti[5] == "WIN-D3J6PR1H9QK")
                    {
                        imgg3.Save(@"F:\\archiv\\AKT\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_3.Jpg");
                    }
                    else
                    {
                        imgg3.Save(@"" + Puti[3] + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_3.Jpg");
                        //File.Copy(@"" + N3, @"" + Puti[3] + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_3.png");
                    };
                }
                ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                ////////////var doc = new Document();
                ////////////PdfWriter.GetInstance(doc, new FileStream(Application.StartupPath + @"\Document.pdf", FileMode.Create));
                ////////////doc.Open();
                ////////////iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(Application.StartupPath + @"/images.jpg");
                ////////////jpg.Alignment = Element.ALIGN_CENTER;
                ////////////doc.Add(jpg);
                ////////////PdfPTable table = new PdfPTable(3);
                ////////////PdfPCell cell = new PdfPCell(new Phrase("Simple table",
                ////////////  new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.TIMES_ROMAN, 16,
                ////////////  iTextSharp.text.Font.NORMAL, new BaseColor(Color.Orange))));
                ////////////cell.BackgroundColor = new BaseColor(Color.Wheat);
                ////////////cell.Padding = 5;
                ////////////cell.Colspan = 3;
                ////////////cell.HorizontalAlignment = Element.ALIGN_CENTER;
                ////////////table.AddCell(cell);
                ////////////table.AddCell("Col 1 Row 1");
                ////////////table.AddCell("Col 2 Row 1");
                ////////////table.AddCell("Col 3 Row 1");
                ////////////table.AddCell("Col 1 Row 2");
                ////////////table.AddCell("Col 2 Row 2");
                ////////////table.AddCell("Col 3 Row 2");
                ////////////jpg = iTextSharp.text.Image.GetInstance(Application.StartupPath + @"/left.jpg");
                ////////////cell = new PdfPCell(jpg);
                ////////////cell.Padding = 5;
                ////////////cell.HorizontalAlignment = PdfPCell.ALIGN_LEFT;
                ////////////table.AddCell(cell);
                ////////////cell = new PdfPCell(new Phrase("Col 2 Row 3"));
                ////////////cell.VerticalAlignment = PdfPCell.ALIGN_MIDDLE;
                ////////////cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER;
                ////////////table.AddCell(cell);
                ////////////jpg = iTextSharp.text.Image.GetInstance(Application.StartupPath + @"/right.jpg");
                ////////////cell = new PdfPCell(jpg);
                ////////////cell.Padding = 5;
                ////////////cell.HorizontalAlignment = PdfPCell.ALIGN_RIGHT;
                ////////////table.AddCell(cell);
                ////////////doc.Add(table);
                ////////////doc.Close();



                ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                using (var resultStamper = new PdfStamper(templateReader, new FileStream(pdfFile, FileMode.Create)))
                {
                    var pdfcontentbyte = resultStamper.GetOverContent(1);
                    if (i1 != null)
                    {
                        imag.SetAbsolutePosition(55, 369);    //695
                        imag.ScaleAbsoluteWidth(127);
                        imag.ScaleAbsoluteHeight(90);
                        imag.Alignment = Element.ALIGN_CENTER;
                        pdfcontentbyte.AddImage(imag);
                    }
                    if (i2 != null)
                    {
                        imag2.SetAbsolutePosition(230, 417);     //745
                        imag2.ScaleAbsoluteWidth(137);
                        imag2.ScaleAbsoluteHeight(40);
                        imag2.Alignment = Element.ALIGN_CENTER;
                        pdfcontentbyte.AddImage(imag2);
                    }
                    if (i3 != null)
                    {
                        imag3.SetAbsolutePosition(404, 369);     //696
                        imag3.ScaleAbsoluteWidth(146);
                        imag3.ScaleAbsoluteHeight(89);
                        imag3.Alignment = Element.ALIGN_CENTER;
                        pdfcontentbyte.AddImage(imag3);
                    }
                    PdfPTable table = new PdfPTable(14);

                    table.AddCell("Cell 1");
                    table.AddCell("Cell 2");
                    table.AddCell("Cell 3");
                    table.AddCell("Cell 4");
                    table.AddCell("Cell 5");
                    table.AddCell("Cell 6");
                    table.AddCell("Cell 7");
                    table.AddCell("Cell 8");

                    // Получаем ссылку на форму с полями.
                    var form = resultStamper.AcroFields;
                    // Получаем все шрифты формы.
                    //BaseFont baseFont = BaseFont.CreateFont(@"C:\Users\cherednikov\Desktop\WFPDF\WFPDF\calibri.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
                    //iTextSharp.text.Font font = new iTextSharp.text.Font(baseFont, iTextSharp.text.Font.DEFAULTSIZE, iTextSharp.text.Font.NORMAL);
                    var font = templateReader.GetFormFonts();

                    // Установка значений полей формы.
                    // Установка значений полей формы.
                    form.SetFieldWithFont(templateReader, font, "A1", args[0]);
                    form.SetFieldWithFont(templateReader, font, "A3", args[1]); form.SetFieldWithFont(templateReader, font, "A4", args[2]);
                    form.SetFieldWithFont(templateReader, font, "A5", args[3]); form.SetFieldWithFont(templateReader, font, "A6", args[4]);
                    form.SetField("A2", args[250]); form.SetField("A9", args[5] + ", " + args[6]); form.SetField("A7", args[7]); form.SetField("A8", args[8]);
                    form.SetField("A10", args[9]); form.SetField("A11", args[21]); form.SetField("A12", args[10]); form.SetField("A13", "ДТ и РДТИ г. Севастополя");// args[11]);
                    form.SetField("A14", args[25]); form.SetField("A15", args[26]); form.SetField("A16", args[28]); form.SetField("A17", args[27]); form.SetField("A19", args[29]);
                    form.SetField("A20", args[41]); form.SetField("A21", args[42]); form.SetField("A22", args[43]); form.SetField("A18", "-");
                    /*ОБЩ_МАССА*/ form.SetField("A23", args[65]); form.SetField("A24", args[66]); form.SetField("A25", args[67]); form.SetField("A26", args[68]); form.SetField("A27", args[69]);
                    form.SetField("A28", args[70]);
                    /*ДЛИНА*/ form.SetField("A29", args[44]); form.SetField("A30", args[47]); form.SetField("A31", args[50]); form.SetField("A32", args[53]); form.SetField("A33", args[56]);
                    /*form.SetField("A55", args[59])*/; form.SetField("A34", args[62]);
                    /*ШИРИНА*/ form.SetField("A35", args[45]); form.SetField("A36", args[48]); form.SetField("A37", args[51]); form.SetField("A38", args[54]); form.SetField("A39", args[57]);
                    /*form.SetField("A56", args[60])*/; form.SetField("A40", args[63]);
                    /*ВЫСОТА*/ form.SetField("A41", args[46]); form.SetField("A42", args[49]); form.SetField("A43", args[52]); form.SetField("A44", args[55]); form.SetField("A45", args[58]);
                    /*form.SetField("A57", args[61]);*/ form.SetField("A46", args[64]);
                    /*СКАТНОСТЬ_КОЛ_КОЛЕС*/ form.SetField("A47", args[73]); form.SetField("A48", args[84]); form.SetField("A49", args[95]); form.SetField("A50", args[106]);
                    form.SetField("A51", args[117]); form.SetField("A52", args[128]); form.SetField("A53", args[139]); form.SetField("A54", args[150]); form.SetField("A55", args[161]);
                    /*СКАТНОСТ_КОЛ_КОЛЕС_ПО_СПЕЦ_РАЗР*/
                    if (args[73] != null)
                    {
                        form.SetField("A56", "-");
                    }
                    if (args[84] != null)
                    {
                        form.SetField("A57", "-");
                    }
                    if (args[95] != null)
                    {
                        form.SetField("A58", "-");
                    }
                    if (args[106] != null)
                    {
                        form.SetField("A59", "-");
                    }
                    if (args[117] != null)
                    {
                        form.SetField("A60", "-");
                    }
                    if (args[128] != null)
                    {
                        form.SetField("A61", "-");
                    }
                    if (args[139] != null)
                    {
                        form.SetField("A62", "-");
                    }
                    if (args[150] != null)
                    {
                        form.SetField("A63", "-");
                    }
                    if (args[161] != null)
                    {
                        form.SetField("A64", "-");
                    }
                    //МЕЖОСЕВЫЕ
                    if (args[86] != null)
                    {
                        form.SetField("A65", "+ 0.03");
                    }
                    if (args[97] != null)
                    {
                        form.SetField("A66", "+ 0.03");
                    }
                    if (args[108] != null)
                    {
                        form.SetField("A67", "+ 0.03");
                    }
                    if (args[119] != null)
                    {
                        form.SetField("A68", "+ 0.03");
                    }
                    if (args[130] != null)
                    {
                        form.SetField("A69", "+ 0.03");
                    }
                    if (args[141] != null)
                    {
                        form.SetField("A70", "+ 0.03");
                    }
                    if (args[152] != null)
                    {
                        form.SetField("A71", "+ 0.03");
                    }
                    if (args[163] != null)
                    {
                        form.SetField("A72", "+ 0.03");
                    }

                    form.SetField("A73", args[86]); form.SetField("A74", args[97]); form.SetField("A75", args[108]); form.SetField("A76", args[119]); form.SetField("A77", args[130]); form.SetField("A78", args[141]);
                    form.SetField("A79", args[152]); form.SetField("A80", args[163]);

                    form.SetField("A81", args[87]); form.SetField("A82", args[98]); form.SetField("A83", args[109]); form.SetField("A84", args[120]); form.SetField("A85", args[131]);
                    form.SetField("A86", args[142]); form.SetField("A87", args[153]); form.SetField("A88", args[164]);

                    /*Факт_нагрузка_на_оси */ form.SetField("A141", args[77]); form.SetField("A142", args[88]);
                    form.SetField("A143", args[99]); form.SetField("A144", args[110]); form.SetField("A145", args[121]);
                    form.SetField("A146", args[132]); form.SetField("A147", args[143]); form.SetField("A148", args[154]);
                    form.SetField("A149", args[165]);

                    /*Погрешность_нагрузки_на_оси */
                    form.SetField("A132", Convert.ToString(Convert.ToDouble(args[77]) * 0.1)); form.SetField("A133", Convert.ToString(Convert.ToDouble(args[88]) * 0.1));
                    form.SetField("A134", Convert.ToString(Convert.ToDouble(args[99]) * 0.1)); form.SetField("A135", Convert.ToString(Convert.ToDouble(args[110]) * 0.1)); form.SetField("A136", Convert.ToString(Convert.ToDouble(args[121]) * 0.1));
                    form.SetField("A137", Convert.ToString(Convert.ToDouble(args[132]) * 0.1)); form.SetField("A138", Convert.ToString(Convert.ToDouble(args[143]) * 0.1)); form.SetField("A139", Convert.ToString(Convert.ToDouble(args[154]) * 0.1));
                    form.SetField("A140", Convert.ToString(Convert.ToDouble(args[165]) * 0.1));

                    /*вычисленные_нагрузки_на_оси */
                    form.SetField("A150", args[78]); form.SetField("A151", args[89]);
                    form.SetField("A152", args[100]); form.SetField("A153", args[111]); form.SetField("A154", args[122]);
                    form.SetField("A155", args[133]); form.SetField("A156", args[144]); form.SetField("A157", args[155]);
                    form.SetField("A158", args[167]);

                    /*ПДК_нагрузки_на_оси */
                    form.SetField("A159", args[79]); form.SetField("A160", args[90]);
                    form.SetField("A161", args[101]); form.SetField("A162", args[112]); form.SetField("A163", args[123]);
                    form.SetField("A164", args[134]); form.SetField("A165", args[145]); form.SetField("A166", args[156]);
                    form.SetField("A167", args[167]);

                    /*ПДК_по_спец.разрешению_нагрузки_на_оси */
                    form.SetField("A168", args[80]); form.SetField("A169", args[91]);
                    form.SetField("A170", args[102]); form.SetField("A171", args[113]); form.SetField("A172", args[124]);
                    form.SetField("A173", args[135]); form.SetField("A174", args[146]); form.SetField("A175", args[157]);
                    form.SetField("A176", args[168]);

                    /*_%_превышения_нагрузки_на_оси */
                    form.SetField("A177", args[81]); form.SetField("A178", args[92]);
                    form.SetField("A179", args[103]); form.SetField("A180", args[114]); form.SetField("A181", args[125]);
                    form.SetField("A182", args[136]); form.SetField("A183", args[147]); form.SetField("A184", args[158]);
                    form.SetField("A185", args[169]);

                    /*_Скорость_ТС_превышения_скорости */
                    form.SetField("A186", args[251]); form.SetField("A187", args[252]);
                    form.SetField("A188", args[253]); form.SetField("A189", args[254]); form.SetField("A190", args[255]);
                    form.SetField("A191", args[256]); form.SetField("A192", args[257]);

                    /*ИНФОРМАЦИЯ ПО СПЕЦ.РАЗРЕШЕНИЮ */
                    form.SetField("A193", args[30]); form.SetField("A194", args[32]);
                    form.SetField("A195", args[33]); form.SetField("A196", args[34]); form.SetField("A197", args[35]);
                    form.SetField("A198", args[36]); form.SetField("A199", args[37]); form.SetField("A200", args[39]);
                    form.SetField("A201", args[38]); form.SetField("A202", "-" /*args[169]*/); form.SetField("A203", args[218]);
                    form.SetField("A204", args[229]);

                    /*_Информация о поверке */
                    form.SetField("A205", args[12]); form.SetField("A206", args[15]);
                    form.SetField("A207", args[14]); form.SetField("A208", args[16]);
                    form.SetField("A209", args[13]); form.SetField("A210", args[17]);

                    /*Информация о контолируемом участке */
                    if (args[18] == "Региональная")
                    {
                        form.SetField("A211", "Автомобильная дорога регионального значения общего пользования города Севастополь");
                    }
                    else if (args[18] == "Муниципальная")
                    {
                        form.SetField("A211", "Автомобильная дорога муниципального значения общего пользования города Севастополь");
                    }
                    else if (args[18] == "Федеральная")
                    {
                        form.SetField("A211", "Автомобильная дорога федерального значения общего пользования города Севастополь");
                    }
                    //form.SetField("A211", args[18]);
                    form.SetField("A212", args[9]);
                    form.SetField("A213", args[19]); form.SetField("A214", args[10]); form.SetField("A215", "Автомобильная дорога рассчитана под нормативную осевую нагрузку 10 тонн на ось" /*args[125]*/);
                    form.SetField("A216", "Приказ ДТиРДТИ г. Севастополя № ____________от ______________ " /*args[136]*/);
                    form.SetField("A217", args[245]); form.SetField("A218", args[246]);
                    form.SetField("A219", "-" /*args[169]*/);

                    string CheckField = "";
                    int    k          = 1;
                    int    j          = 0;
                    int    width      = 0;
                    int    i          = 1;
                    int    c          = 0;
                    int    count      = 0;
                    while (KNRA[1, c] > 0)
                    {
                        count = count + KNRA[1, c];
                        c++;
                    }
                    string Name_field = "";
                    while (i <= 8)
                    {
                        if (KNRA[0, j] == i)
                        {
                            if (KNRA[1, j] == 1)
                            {
                                width = KNRA[1, j];
                            }
                            else
                            {
                                if (KNRA[1, j] == 4)
                                {
                                    KNRA[1, j] = Convert.ToInt32(args[28]) - (count - 4);
                                }
                                width = KNRA[1, j] - 1;
                                //int c = j + 1;
                                //while (KNRA[0,c] > 0)
                                //{
                                //    KNRA[0, c] = KNRA[0, c] - 1;
                                //    c++;
                                //}
                            }
                            Name_field = "A" + '5' + KNRA[0, j].ToString() + width.ToString();
                        }
                        k = 1;
                        while (k <= 8)
                        {
                            CheckField = "A" + "5" + i.ToString() + k.ToString();
                            if (CheckField == Name_field && KNRA[1, j] != 1)
                            {
                                form.SetField(CheckField, args[164 + (j + 1) * 11]);
                                j++;
                            }
                            else
                            {
                                if (KNRA[1, j] == 1)
                                {
                                    j++;
                                }
                                form.RemoveField(CheckField);
                            }
                            k++;
                        }
                        i++;
                    }

                    i          = 1;
                    j          = 0;
                    CheckField = "";
                    Name_field = "";
                    width      = 0;
                    while (i <= 9)
                    {
                        if (KNRA[0, j] == i)
                        {
                            if (KNRA[1, j] == 4)
                            {
                                KNRA[1, j] = Convert.ToInt32(args[28]) - (count - 4);
                            }
                            width      = KNRA[1, j];
                            Name_field = "A" + '6' + KNRA[0, j].ToString() + width.ToString();
                        }
                        k = 1;
                        while (k <= 9)
                        {
                            CheckField = "A" + "6" + i.ToString() + k.ToString();
                            if (CheckField == Name_field && KNRA[1, j] != 1)
                            {
                                form.SetField(CheckField, args[166 + (j + 1) * 11]);
                                j++;
                            }
                            else
                            {
                                if (KNRA[1, j] == 1)
                                {
                                    j++;
                                }
                                form.RemoveField(CheckField);
                            }
                            k++;
                        }
                        i++;
                    }

                    i          = 1;
                    j          = 0;
                    CheckField = "";
                    Name_field = "";
                    width      = 0;
                    while (i <= 9)
                    {
                        if (KNRA[0, j] == i)
                        {
                            if (KNRA[1, j] == 4)
                            {
                                KNRA[1, j] = Convert.ToInt32(args[28]) - (count - 4);
                            }
                            width      = KNRA[1, j];
                            Name_field = "A" + '7' + KNRA[0, j].ToString() + width.ToString();
                        }
                        k = 1;
                        while (k <= 9)
                        {
                            CheckField = "A" + "7" + i.ToString() + k.ToString();
                            if (CheckField == Name_field && KNRA[1, j] != 1)
                            {
                                form.SetField(CheckField, args[167 + (j + 1) * 11]);
                                j++;
                            }
                            else
                            {
                                if (KNRA[1, j] == 1)
                                {
                                    j++;
                                }
                                form.RemoveField(CheckField);
                            }
                            k++;
                        }
                        i++;
                    }

                    i          = 1;
                    j          = 0;
                    CheckField = "";
                    Name_field = "";
                    width      = 0;
                    while (i <= 9)
                    {
                        if (KNRA[0, j] == i)
                        {
                            if (KNRA[1, j] == 4)
                            {
                                KNRA[1, j] = Convert.ToInt32(args[28]) - (count - 4);
                            }
                            width      = KNRA[1, j];
                            Name_field = "A" + '8' + KNRA[0, j].ToString() + width.ToString();
                        }
                        k = 1;
                        while (k <= 9)
                        {
                            CheckField = "A" + "8" + i.ToString() + k.ToString();
                            if (CheckField == Name_field && KNRA[1, j] != 1)
                            {
                                form.SetField(CheckField, args[168 + (j + 1) * 11]);
                                j++;
                            }
                            else
                            {
                                if (KNRA[1, j] == 1)
                                {
                                    j++;
                                }
                                form.RemoveField(CheckField);
                            }
                            k++;
                        }
                        i++;
                    }

                    i          = 1;
                    j          = 0;
                    CheckField = "";
                    Name_field = "";
                    width      = 0;
                    while (i <= 9)
                    {
                        if (KNRA[0, j] == i)
                        {
                            if (KNRA[1, j] == 4)
                            {
                                KNRA[1, j] = Convert.ToInt32(args[28]) - (count - 4);
                            }
                            width      = KNRA[1, j];
                            Name_field = "A" + '9' + KNRA[0, j].ToString() + width.ToString();
                        }
                        k = 1;
                        while (k <= 9)
                        {
                            CheckField = "A" + "9" + i.ToString() + k.ToString();
                            if (CheckField == Name_field && KNRA[1, j] != 1)
                            {
                                form.SetField(CheckField, args[169 + (j + 1) * 11]);
                                j++;
                            }
                            else
                            {
                                if (KNRA[1, j] == 1)
                                {
                                    j++;
                                }
                                form.RemoveField(CheckField);
                            }
                            k++;
                        }
                        i++;
                    }

                    // Установка запрета на редактирование полей.
                    resultStamper.FormFlattening = true;
                    resultStamper.Writer.Add(table);
                    resultStamper.Close();
                }
                templateReader.Close();
            }
            //File.Copy(@"C:\\Users\\cherednikov\\Desktop\\АКТЫ\\" + pf + ".pdf", @"C:\\Users\\cherednikov\\Desktop\\АКТЫ\\123777\\" + pf + ".pdf");
            //if (Puti[5] == "WIN-D3J6PR1H9QK")
            //{ File.Copy(@"F:\\archiv\\AKT\\" + pf + ".pdf", @"F:\\archivACT\\act\\" + pf + ".pdf"); }
            //else { File.Copy(@"" + Puti[3] + pf + ".pdf", @"" + Puti[4] + pf + ".pdf"); };
            //  File.Copy(@"F:\\archiv\\AKT\\" + pf + ".pdf", @"F:\\archivACT\\act\\" + pf + ".pdf");
        }
Example #20
0
        public override void OnEndPage(iTextSharp.text.pdf.PdfWriter writer, iTextSharp.text.Document document)
        {
            base.OnEndPage(writer, document);

            iTextSharp.text.Font baseFontNormal = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 10f, iTextSharp.text.Font.NORMAL, iTextSharp.text.BaseColor.BLACK);

            //iTextSharp.text.Font baseFontBig = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 12f, iTextSharp.text.Font.BOLD, iTextSharp.text.BaseColor.BLACK);

            //Phrase p1Header = new Phrase("Sample Header Here", baseFontNormal);
            //Create PdfTable object
            PdfPTable pdfTab = new PdfPTable(1);

            pdfTab.WidthPercentage = 100;

            //We will have to create separate cells to include image logo and 2 separate strings
            //Row 1
            PdfPCell pdfCell1 = null;

            if (!string.IsNullOrEmpty(Util.Configuracao.PerfilSelecionadoLogado.Cliente.Logotipo))
            {
                string img = Util.Configuracao.PerfilSelecionadoLogado.Cliente.Logotipo;
                img = img.Split('?')[0];

                iTextSharp.text.Image imgAMORC = iTextSharp.text.Image.GetInstance(HttpContext.Current.Server.MapPath(img));
                imgAMORC.ScaleAbsoluteWidth(48);
                imgAMORC.ScaleAbsoluteHeight(48);
                pdfCell1             = new PdfPCell(imgAMORC);
                pdfCell1.PaddingLeft = 20;
            }
            else
            {
                pdfCell1 = new PdfPCell();
            }
            PdfPCell pdfCell2 = new PdfPCell();
            PdfPCell pdfCell3 = new PdfPCell();

            string textPage = "Página:" + writer.PageNumber + "/";

            float len;

            ////Add paging to header
            //{
            //    string textCell = "Seção 211";
            //    len = bf.GetWidthPoint(textCell, 8);
            //    cb.BeginText();
            //    cb.SetFontAndSize(bf, 8);
            //    cb.SetTextMatrix(document.PageSize.GetRight(40 + len), document.PageSize.GetTop(40));
            //    cb.ShowText(textCell);
            //    cb.EndText();
            //    //cb.AddTemplate(headerTemplate, document.PageSize.GetRight(40) + len, document.PageSize.GetTop(40));

            //    len = bf.GetWidthPoint(textPage + "1", 8);
            //    cb.BeginText();
            //    cb.SetFontAndSize(bf, 8);
            //    cb.SetTextMatrix(document.PageSize.GetRight(40 + len), document.PageSize.GetTop(50));
            //    cb.ShowText(textPage);
            //    cb.EndText();

            //    textCell = "Revisão de 12/2007";
            //    len = bf.GetWidthPoint(textCell, 8);
            //    cb.BeginText();
            //    cb.SetFontAndSize(bf, 8);
            //    cb.SetTextMatrix(document.PageSize.GetRight(40 + len), document.PageSize.GetTop(60));
            //    cb.ShowText(textCell);
            //    cb.EndText();

            //    textCell = "Substitui e Cancela";
            //    len = bf.GetWidthPoint(textCell, 8);
            //    cb.BeginText();
            //    cb.SetFontAndSize(bf, 8);
            //    cb.SetTextMatrix(document.PageSize.GetRight(40 + len), document.PageSize.GetTop(70));
            //    cb.ShowText(textCell);
            //    cb.EndText();

            //    textCell = "Revisão de 03/2003";
            //    len = bf.GetWidthPoint(textCell, 8);
            //    cb.BeginText();
            //    cb.SetFontAndSize(bf, 8);
            //    cb.SetTextMatrix(document.PageSize.GetRight(40 + len), document.PageSize.GetTop(80));
            //    cb.ShowText(textCell);
            //    cb.EndText();

            //    cb.AddTemplate(headerTemplate, document.PageSize.GetRight(44), document.PageSize.GetTop(50));
            //}

            //Add paging to footer
            {
                len = bf.GetWidthPoint(textPage + "1", 8);
                cb.BeginText();
                cb.SetFontAndSize(bf, 8);
                cb.SetTextMatrix(document.PageSize.GetRight(40) - len, document.PageSize.GetBottom(30));
                cb.ShowText(textPage);
                cb.EndText();

                string textCell = _footer;
                len = bf.GetWidthPoint(textCell, 8);
                cb.BeginText();
                cb.SetFontAndSize(bf, 8);
                cb.SetTextMatrix(document.PageSize.GetLeft(40), document.PageSize.GetBottom(30));
                cb.ShowText(textCell);
                cb.EndText();

                cb.AddTemplate(footerTemplate, document.PageSize.GetRight(44), document.PageSize.GetBottom(30));
            }
            //Row 2
            //PdfPCell pdfCell4 = new PdfPCell(new Phrase("Sub Header Description", baseFontNormal));
            //Row 3


            //PdfPCell pdfCell5 = new PdfPCell(new Phrase("Date:" + PrintTime.ToShortDateString(), baseFontBig));
            //PdfPCell pdfCell6 = new PdfPCell();
            //PdfPCell pdfCell7 = new PdfPCell(new Phrase("TIME:" + string.Format("{0:t}", DateTime.Now), baseFontBig));


            //set the alignment of all three cells and set border to 0
            pdfCell1.HorizontalAlignment = Element.ALIGN_CENTER;
            pdfCell2.HorizontalAlignment = Element.ALIGN_CENTER;
            pdfCell3.HorizontalAlignment = Element.ALIGN_CENTER;
            //pdfCell4.HorizontalAlignment = Element.ALIGN_CENTER;
            //pdfCell5.HorizontalAlignment = Element.ALIGN_CENTER;
            //pdfCell6.HorizontalAlignment = Element.ALIGN_CENTER;
            //pdfCell7.HorizontalAlignment = Element.ALIGN_CENTER;


            pdfCell2.VerticalAlignment = Element.ALIGN_BOTTOM;
            pdfCell3.VerticalAlignment = Element.ALIGN_MIDDLE;
            //pdfCell4.VerticalAlignment = Element.ALIGN_TOP;
            //pdfCell5.VerticalAlignment = Element.ALIGN_MIDDLE;
            //pdfCell6.VerticalAlignment = Element.ALIGN_MIDDLE;
            //pdfCell7.VerticalAlignment = Element.ALIGN_MIDDLE;


            //pdfCell4.Colspan = 3;



            pdfCell1.Border = 0;
            pdfCell2.Border = 0;
            pdfCell3.Border = 0;
            //pdfCell4.Border = 0;
            //pdfCell5.Border = 0;
            //pdfCell6.Border = 0;
            //pdfCell7.Border = 0;


            //add all three cells into PdfTable
            pdfTab.AddCell(pdfCell1);
            //pdfTab.AddCell(pdfCell4);
            //pdfTab.AddCell(pdfCell5);
            //pdfTab.AddCell(pdfCell6);
            //pdfTab.AddCell(pdfCell7);

            pdfTab.TotalWidth      = document.PageSize.Width - 80f;
            pdfTab.WidthPercentage = 100;



            //call WriteSelectedRows of PdfTable. This writes rows from PdfWriter in PdfTable
            //first param is start row. -1 indicates there is no end row and all the rows to be included to write
            //Third and fourth param is x and y position to start writing
            if (_allPages == true || writer.PageNumber == 1)
            {
                pdfTab.WriteSelectedRows(0, -1, 30, document.PageSize.Height - 10, writer.DirectContent);
            }
            //Move the pointer and draw line to separate header section from rest of page
            //cb.MoveTo(40, document.PageSize.Height - 90);
            //cb.LineTo(document.PageSize.Width - 40, document.PageSize.Height - 90);
            //cb.Stroke();

            //Move the pointer and draw line to separate footer section from rest of page
            //cb.MoveTo(40, document.PageSize.GetBottom(45));
            //cb.LineTo(document.PageSize.Width - 40, document.PageSize.GetBottom(45));
            //cb.Stroke();
        }
Example #21
0
        public static MemoryStream CrearPDFA4(IFormFile files)
        {
            //string usuario = Environment.UserName;
            //string usuario = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

            string ruta = @"C:\ArchivosA4";

            if (!Directory.Exists(ruta))
            {
                DirectoryInfo di = Directory.CreateDirectory(ruta);
            }

            Document doc = new Document(PageSize.A4, 0f, 0f, 0f, 0f);

            byte[] data;
            using (var ms = new MemoryStream())
            {
                files.CopyTo(ms);
                data = ms.ToArray();
                //string s = Convert.ToBase64String(fileBytes);
                // act on the Base64 data
            }

            iTextSharp.text.Image imagen1 = iTextSharp.text.Image.GetInstance(data);
            if (imagen1.Width > imagen1.Height)
            {
                doc.SetPageSize(PageSize.A4.Rotate());
            }
            if (imagen1.Width > doc.PageSize.Width)
            {
                //float nuevoAncho = doc.PageSize.Width;
                imagen1.ScaleAbsoluteWidth(doc.PageSize.Width);
            }
            if (imagen1.Height > doc.PageSize.Height)
            {
                //float nuevoAlto = doc.PageSize.Height;
                imagen1.ScaleAbsoluteHeight(doc.PageSize.Height);
            }

            MemoryStream file   = new MemoryStream();
            PdfWriter    writer = PdfWriter.GetInstance(doc, file);

            doc.AddAuthor("JAC");
            doc.AddTitle("A4Imagen");
            doc.Open();

            imagen1.Alignment = Element.ALIGN_MIDDLE;
            doc.Add(imagen1);
            doc.Close();
            return(file);

            //FileStream file = new FileStream(ruta + "//" +files.FileName + ".pdf", FileMode.Create);
            //PdfWriter writer = PdfWriter.GetInstance(doc, file);
            ////writer.Open();
            //doc.AddAuthor("CodeStack");
            //doc.AddTitle("Hola mundo");
            //doc.Open();

            //imagen1.Alignment = Element.ALIGN_MIDDLE;

            //doc.Add(imagen1);

            ////doc.Add(new Phrase("Pepito"));
            ////writer.Close();
            //doc.Close();
        }
        public void FormPDFN(Bitmap i1, Bitmap i2, Bitmap i3, string[] args, string NRUB, string GAng, int[,] KNRA)    //Bitmap i1, Bitmap i2, Bitmap i3, string[] args, string NRUB, string N1, string N2, string N3)//public void FormPDF(System.IO.Stream i1, System.IO.Stream i2, System.IO.Stream i3, string[] args)
        {
            Puti[19] = System.Windows.Forms.SystemInformation.ComputerName.ToString();
            MySqlCommand command2 = new MySqlCommand();
            ConnectStr   conStr2  = new ConnectStr();

            conStr2.ConStr(1);
            Zapros zapros2 = new Zapros();
            string connectionString2;        //, commandString;

            connectionString2 = conStr2.StP; //"Data source=localhost;UserId=root;Password=1q2w3e$R;database=camloc;";
            MySqlConnection connection2 = new MySqlConnection(connectionString2);

            zapros2.NastrPuti(0, Puti[19]);
            string z2 = zapros2.commandStringTest;

            command2.CommandText = z2;
            command2.Connection  = connection2;
            MySqlDataReader reader2;

            try
            {
                command2.Connection.Open();
                reader2 = command2.ExecuteReader();
                while (reader2.Read())
                {
                    Puti[0] = reader2["IDPut"].ToString();
                    Puti[1] = reader2["Rab_mesto"].ToString();
                    Puti[2] = reader2["Photo"].ToString();
                    Puti[3] = reader2["XML_Ang"].ToString();
                    Puti[4] = reader2["Akt_Arch"].ToString();
                    Puti[5] = reader2["CompName"].ToString();
                }

                reader2.Close();
            }
            catch (MySqlException ex)
            {
                Console.WriteLine("Error: \r\n{0}", ex.ToString());
            }
            finally
            {
                command2.Connection.Close();
            }


            String dir  = Environment.CurrentDirectory;                //получаем текущую рабочую папку приложения
            String dir1 = Application.StartupPath;                     //получаем папку из которой произошел запуск приложения
            ////dir1=dir1.ToString().Replace('`\`' , `\\` );
            var pdfTemplate = @"C:\Users\cherednikov\Desktop\АКТ.pdf"; // + dir1 + "\\AKT.pdf";//'"+dir1+"\\

            //var pdfFile = @"C:\\Users\\cherednikov\\Desktop\\АКТЫ\\" + args[0] + "_" + DateTime.Now.ToString("ddMMyyyy") + ".pdf";
            if (Puti[5] == "WIN-D3J6PR1H9QK")
            {
                pdfFile = @"F:\\archiv\\AKT\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + ".pdf";
            }
            else
            {
                pdfFile = @"C:\Users\cherednikov\Desktop\A\АКТ.pdf";
            }                                                            //@"" + Puti[3] + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + ".pdf"; };
            //var pdfFile = @"F:\\archiv\\AKT\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + ".pdf";
            //var pdfFile = @"F:\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + ".pdf";
            //var pdfFile = @"C:\\Users\\cherednikov\\Desktop\\АКТЫ\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + ".pdf";
            pf = args[259] + "_" + DateTime.Now.ToString("ddMMyyyy");
            using (var templateReader = new PdfReader(pdfTemplate))

            {
                if (i1 != null)
                {
                    System.Drawing.Bitmap imgg = new System.Drawing.Bitmap(i1);
                    imag = iTextSharp.text.Image.GetInstance(imgg, System.Drawing.Imaging.ImageFormat.Jpeg);    // @"C:\Users\cherednikov\Pictures\original22.jpg");
                    //if (Puti[5] == "WIN-D3J6PR1H9QK")
                    //{ imgg.Save(@"F:\\archiv\\AKT\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_1.Jpeg"); }
                    //else
                    //{
                    //    imgg.Save(@"" + Puti[3] + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_1.Jpeg");

                    //    //File.Copy(@"" + N1, @"" + Puti[3] + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_1.png");
                    //};
                    //// imgg.Save(@""+ Puti[3] + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_1.Jpeg");
                    ////imgg.Save(@"F:\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_1.Jpeg");

                    ////imgg.Save(@"C:\\Users\\cherednikov\\Desktop\\АКТЫ\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_1.Jpeg");
                }
                if (i2 != null)
                {
                    System.Drawing.Bitmap imgg2 = new System.Drawing.Bitmap(i2);
                    imag2 = iTextSharp.text.Image.GetInstance(imgg2, System.Drawing.Imaging.ImageFormat.Jpeg);
                    //if (Puti[5] == "WIN-D3J6PR1H9QK")
                    //{ imgg2.Save(@"F:\\archiv\\AKT\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_2.Jpeg"); }
                    //else
                    //{
                    //    imgg2.Save(@"" + Puti[3] + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_2.Jpeg");
                    //    //File.Copy(@"" + N2, @"" + Puti[3] + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_2.png");
                    //};
                    ////imgg2.Save(@"F:\\archiv\\AKT\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_2.Jpeg");
                    ////imgg2.Save(@"F:\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_2.Jpeg");
                    ////imgg2.Save(@"C:\\Users\\cherednikov\\Desktop\\АКТЫ\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_2.Jpeg");
                }
                if (i3 != null)
                {
                    System.Drawing.Bitmap imgg3 = new System.Drawing.Bitmap(i3);
                    imag3 = iTextSharp.text.Image.GetInstance(imgg3, System.Drawing.Imaging.ImageFormat.Jpeg);
                    //if (Puti[5] == "WIN-D3J6PR1H9QK")
                    //{ imgg3.Save(@"F:\\archiv\\AKT\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_3.Jpeg"); }
                    //else
                    //{
                    //    imgg3.Save(@"" + Puti[3] + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_3.Jpeg");
                    //    //File.Copy(@"" + N3, @"" + Puti[3] + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_3.png");
                    //};
                    //// imgg3.Save(@"F:\\archiv\\AKT\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_3.Jpeg");
                    ////imgg3.Save(@"F:\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_3.Jpeg");
                    ////imgg3.Save(@"C:\\Users\\cherednikov\\Desktop\\АКТЫ\\" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_3.Jpeg");
                }
                ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                ////////////var doc = new Document();
                ////////////PdfWriter.GetInstance(doc, new FileStream(Application.StartupPath + @"\Document.pdf", FileMode.Create));
                ////////////doc.Open();
                ////////////iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(Application.StartupPath + @"/images.jpg");
                ////////////jpg.Alignment = Element.ALIGN_CENTER;
                ////////////doc.Add(jpg);
                ////////////PdfPTable table = new PdfPTable(3);
                ////////////PdfPCell cell = new PdfPCell(new Phrase("Simple table",
                ////////////  new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.TIMES_ROMAN, 16,
                ////////////  iTextSharp.text.Font.NORMAL, new BaseColor(Color.Orange))));
                ////////////cell.BackgroundColor = new BaseColor(Color.Wheat);
                ////////////cell.Padding = 5;
                ////////////cell.Colspan = 3;
                ////////////cell.HorizontalAlignment = Element.ALIGN_CENTER;
                ////////////table.AddCell(cell);
                ////////////table.AddCell("Col 1 Row 1");
                ////////////table.AddCell("Col 2 Row 1");
                ////////////table.AddCell("Col 3 Row 1");
                ////////////table.AddCell("Col 1 Row 2");
                ////////////table.AddCell("Col 2 Row 2");
                ////////////table.AddCell("Col 3 Row 2");
                ////////////jpg = iTextSharp.text.Image.GetInstance(Application.StartupPath + @"/left.jpg");
                ////////////cell = new PdfPCell(jpg);
                ////////////cell.Padding = 5;
                ////////////cell.HorizontalAlignment = PdfPCell.ALIGN_LEFT;
                ////////////table.AddCell(cell);
                ////////////cell = new PdfPCell(new Phrase("Col 2 Row 3"));
                ////////////cell.VerticalAlignment = PdfPCell.ALIGN_MIDDLE;
                ////////////cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER;
                ////////////table.AddCell(cell);
                ////////////jpg = iTextSharp.text.Image.GetInstance(Application.StartupPath + @"/right.jpg");
                ////////////cell = new PdfPCell(jpg);
                ////////////cell.Padding = 5;
                ////////////cell.HorizontalAlignment = PdfPCell.ALIGN_RIGHT;
                ////////////table.AddCell(cell);
                ////////////doc.Add(table);
                ////////////doc.Close();



                ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                using (var resultStamper = new PdfStamper(templateReader, new FileStream(pdfFile, FileMode.Create)))
                {
                    var pdfcontentbyte = resultStamper.GetOverContent(1);
                    if (i1 != null)
                    {
                        imag.SetAbsolutePosition(55, 369);    //695
                        imag.ScaleAbsoluteWidth(127);
                        imag.ScaleAbsoluteHeight(90);
                        imag.Alignment = Element.ALIGN_CENTER;
                        pdfcontentbyte.AddImage(imag);
                    }
                    if (i2 != null)
                    {
                        imag2.SetAbsolutePosition(230, 417);     //745
                        imag2.ScaleAbsoluteWidth(137);
                        imag2.ScaleAbsoluteHeight(40);
                        imag2.Alignment = Element.ALIGN_CENTER;
                        pdfcontentbyte.AddImage(imag2);
                    }
                    if (i3 != null)
                    {
                        imag3.SetAbsolutePosition(404, 369);     //696
                        imag3.ScaleAbsoluteWidth(146);
                        imag3.ScaleAbsoluteHeight(89);
                        imag3.Alignment = Element.ALIGN_CENTER;
                        pdfcontentbyte.AddImage(imag3);
                    }
                    PdfPTable table = new PdfPTable(14);

                    table.AddCell("Cell 1");
                    table.AddCell("Cell 2");
                    table.AddCell("Cell 3");
                    table.AddCell("Cell 4");
                    table.AddCell("Cell 5");
                    table.AddCell("Cell 6");
                    table.AddCell("Cell 7");
                    table.AddCell("Cell 8");

                    // Получаем ссылку на форму с полями.
                    var form = resultStamper.AcroFields;
                    // Получаем все шрифты формы.
                    //BaseFont baseFont = BaseFont.CreateFont(@"C:\Users\cherednikov\Desktop\WFPDF\WFPDF\calibri.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
                    //iTextSharp.text.Font font = new iTextSharp.text.Font(baseFont, iTextSharp.text.Font.DEFAULTSIZE, iTextSharp.text.Font.NORMAL);
                    var font = templateReader.GetFormFonts();

                    // Установка значений полей формы.
                    // Установка значений полей формы.
                    form.SetFieldWithFont(templateReader, font, "A1", args[0]);
                    form.SetFieldWithFont(templateReader, font, "A3", args[1]); form.SetFieldWithFont(templateReader, font, "A4", args[2]);
                    form.SetFieldWithFont(templateReader, font, "A5", args[3]); form.SetFieldWithFont(templateReader, font, "A6", args[4]);
                    form.SetField("A2", args[250]); form.SetField("A9", args[5] + ", " + args[6]); form.SetField("A7", args[7]); form.SetField("A8", args[8]);
                    form.SetField("A10", args[9]); form.SetField("A11", args[21]); form.SetField("A12", args[10]); form.SetField("A13", "ДТ и РДТИ г. Севастополя");// args[11]);
                    form.SetField("A14", args[25]); form.SetField("A15", args[26]); form.SetField("A16", args[28]); form.SetField("A17", args[27]); form.SetField("A19", args[29]);
                    form.SetField("A20", args[41]); form.SetField("A21", args[42]); form.SetField("A22", args[43]); form.SetField("A18", "-");
                    /*ОБЩ_МАССА*/ form.SetField("A23", args[65]); form.SetField("A24", args[66]); form.SetField("A25", args[67]); form.SetField("A26", args[68]); form.SetField("A27", args[69]);
                    form.SetField("A28", args[70]);
                    /*ДЛИНА*/ form.SetField("A29", args[44]); form.SetField("A30", args[47]); form.SetField("A31", args[50]); form.SetField("A32", args[53]); form.SetField("A33", args[56]);
                    /*form.SetField("A55", args[59])*/; form.SetField("A34", args[62]);
                    /*ШИРИНА*/ form.SetField("A35", args[45]); form.SetField("A36", args[48]); form.SetField("A37", args[51]); form.SetField("A38", args[54]); form.SetField("A39", args[57]);
                    /*form.SetField("A56", args[60])*/; form.SetField("A40", args[63]);
                    /*ВЫСОТА*/ form.SetField("A41", args[46]); form.SetField("A42", args[49]); form.SetField("A43", args[52]); form.SetField("A44", args[55]); form.SetField("A45", args[58]);
                    /*form.SetField("A57", args[61]);*/ form.SetField("A46", args[64]);
                    /*СКАТНОСТ_КОЛ_КОЛЕС*/ form.SetField("A47", args[73]); form.SetField("A48", args[84]); form.SetField("A49", args[95]); form.SetField("A50", args[106]);
                    form.SetField("A51", args[117]); form.SetField("A52", args[128]); form.SetField("A53", args[139]); form.SetField("A54", args[150]); form.SetField("A55", args[161]);
                    /*СКАТНОСТ_КОЛ_КОЛЕС_ПО_СПЕЦ_РАЗР*/
                    if (args[73] != null)
                    {
                        form.SetField("A56", "-");
                    }
                    if (args[84] != null)
                    {
                        form.SetField("A57", "-");
                    }
                    if (args[95] != null)
                    {
                        form.SetField("A58", "-");
                    }
                    if (args[106] != null)
                    {
                        form.SetField("A59", "-");
                    }
                    if (args[117] != null)
                    {
                        form.SetField("A60", "-");
                    }
                    if (args[128] != null)
                    {
                        form.SetField("A61", "-");
                    }
                    if (args[139] != null)
                    {
                        form.SetField("A62", "-");
                    }
                    if (args[150] != null)
                    {
                        form.SetField("A63", "-");
                    }
                    if (args[161] != null)
                    {
                        form.SetField("A64", "-");
                    }
                    //МЕЖОСЕВЫЕ
                    if (args[86] != null)
                    {
                        form.SetField("A65", "+ 0.03");
                    }
                    if (args[97] != null)
                    {
                        form.SetField("A66", "+ 0.03");
                    }
                    if (args[108] != null)
                    {
                        form.SetField("A67", "+ 0.03");
                    }
                    if (args[119] != null)
                    {
                        form.SetField("A68", "+ 0.03");
                    }
                    if (args[130] != null)
                    {
                        form.SetField("A69", "+ 0.03");
                    }
                    if (args[141] != null)
                    {
                        form.SetField("A70", "+ 0.03");
                    }
                    if (args[152] != null)
                    {
                        form.SetField("A71", "+ 0.03");
                    }
                    if (args[163] != null)
                    {
                        form.SetField("A72", "+ 0.03");
                    }

                    form.SetField("A73", args[86]); form.SetField("A74", args[97]); form.SetField("A75", args[108]); form.SetField("A76", args[119]); form.SetField("A77", args[130]); form.SetField("A78", args[141]);
                    form.SetField("A79", args[152]); form.SetField("A80", args[163]);

                    form.SetField("A81", args[87]); form.SetField("A82", args[98]); form.SetField("A83", args[109]); form.SetField("A84", args[120]); form.SetField("A85", args[131]);
                    form.SetField("A86", args[142]); form.SetField("A87", args[153]); form.SetField("A88", args[164]);

                    //(args[173]

                    //for (int i = 1; i < 10; i++ )
                    //{
                    //delete_fields(KNRA, args, 5, 8);
                    string CheckField = "";
                    int    k          = 1;
                    int    j          = 0;
                    int    width      = 0;
                    int    i          = 1;
                    int    c          = 0;
                    int    count      = 0;
                    while (KNRA[1, c] > 0)
                    {
                        count = count + KNRA[1, c];
                        c++;
                    }
                    string Name_field = "";
                    while (i <= 8)
                    {
                        if (KNRA[0, j] == i)
                        {
                            if (KNRA[1, j] == 1)
                            {
                                width = KNRA[1, j];
                            }
                            else
                            {
                                if (KNRA[1, j] == 4)
                                {
                                    KNRA[1, j] = Convert.ToInt32(args[28]) - (count - 4);
                                }
                                width = KNRA[1, j] - 1;
                                //int c = j + 1;
                                //while (KNRA[0,c] > 0)
                                //{
                                //    KNRA[0, c] = KNRA[0, c] - 1;
                                //    c++;
                                //}
                            }
                            Name_field = "A" + '5' + KNRA[0, j].ToString() + width.ToString();
                        }
                        k = 1;
                        while (k <= 8)
                        {
                            CheckField = "A" + "5" + i.ToString() + k.ToString();
                            if (CheckField == Name_field && KNRA[1, j] != 1)
                            {
                                form.SetField(CheckField, args[164 + (j + 1) * 11]);
                                j++;
                            }
                            else
                            {
                                if (KNRA[1, j] == 1)
                                {
                                    j++;
                                }
                                form.RemoveField(CheckField);
                            }
                            k++;
                        }
                        i++;
                    }

                    //}
                    ////// form.RemoveField("A97_1"); form.RemoveField("A91_1"); form.RemoveField("A92_1"); form.RemoveField("A93_1"); form.RemoveField("A94_1"); form.RemoveField("A95_1"); form.RemoveField("A96_1");
                    //////form.RemoveField("A98_2"); form.RemoveField("A99_2"); form.RemoveField("A100_2"); form.RemoveField("A101_2"); form.RemoveField("A102_2"); form.RemoveField("A103_2"); form.RemoveField("A104_2"); //если первая группа из 1 оси
                    //////form.RemoveField("A105_3"); form.RemoveField("A106_3"); form.RemoveField("A107_3"); form.RemoveField("A108_3"); form.RemoveField("A109_3");
                    //////form.RemoveField("A110_4"); form.RemoveField("A111_4"); form.RemoveField("A112_4"); form.RemoveField("A113_4");
                    //////form.RemoveField("A115_5"); form.RemoveField("A117_5"); form.RemoveField("A118_5"); form.RemoveField("A116_5");
                    //////form.RemoveField("A119_6"); form.RemoveField("A120_6"); form.RemoveField("A121_6");
                    //////form.RemoveField("A122_7"); form.RemoveField("A123_7");
                    //////form.RemoveField("A89_8");

                    //////if (args[173] == "1") {
                    //////    form.SetField("A90_1", args[65]);
                    //////    form.SetField("A99_2", args[65]);

                    //////    ////////////form.RemoveField("A89_8"); form.RemoveField("A91_1"); form.RemoveField("A92_1"); form.RemoveField("A93_1"); form.RemoveField("A94_1"); form.RemoveField("A95_1"); form.RemoveField("A96_1"); form.RemoveField("A97_1"); form.RemoveField("A100_2"); form.RemoveField("A101_2"); form.RemoveField("A102_2"); form.RemoveField("A103_2"); form.RemoveField("A104_2"); //если первая группа из 1 оси
                    //////    ////////////form.RemoveField("A105_3"); form.RemoveField("A106_3"); form.RemoveField("A107_3");
                    //////    ////////////form.RemoveField("A108_3"); form.RemoveField("A109_3"); form.RemoveField("A110_4"); form.RemoveField("A111_4"); form.RemoveField("A112_4");
                    //////    ////////////form.RemoveField("A113_4"); form.RemoveField("A115_5"); form.RemoveField("A117_5"); form.RemoveField("A118_5");
                    //////    ////////////form.RemoveField("A116_5"); form.RemoveField("A119_6"); form.RemoveField("A120_6"); form.RemoveField("A121_6");
                    //////    ////////////form.RemoveField("A122_7"); form.RemoveField("A123_7");
                    //////    //if (args[184] == "1") { form.RemoveField("A89_8"); form.RemoveField("A98_2"); //если вторая группа из 1 оси
                    //////    //    if (args[195] == "1") { form.RemoveField("A89_8"); form.RemoveField("A98_2"); //если третья группа из 1 оси
                    //////    //        if (args[206] == "1") { form.RemoveField("A89_8"); form.RemoveField("A98_2"); //если 4 группа из 1 оси
                    //////    //            if (args[217] == "1") { form.RemoveField("A89_8"); form.RemoveField("A98_2");//если 5 группа из 1 оси
                    //////    //                if (args[228] == "1") { form.RemoveField("A89_8"); form.RemoveField("A98_2"); }//если 6 группа из 1 оси
                    //////    //                else if (args[228] == "2") { form.RemoveField("A89_8"); form.RemoveField("A98_2"); form.RemoveField("A95_1"); }
                    //////    //                else { form.RemoveField("A89_8"); form.RemoveField("A98_2"); form.RemoveField("A95_1"); form.RemoveField("A103_2"); }
                    //////    //            }
                    //////    //            else if (args[217] == "2") { form.RemoveField("A89_8"); form.RemoveField("A98_2");//если 5 группа из 1 оси
                    //////    //                if (args[228] == "1") { form.RemoveField("A89_8"); form.RemoveField("A98_2"); form.RemoveField("A103_2"); form.RemoveField("A96_1"); form.RemoveField("A97_1"); }//если 6 группа из 1 оси
                    //////    //                else if (args[228] == "2") { form.RemoveField("A89_8"); form.RemoveField("A98_2"); form.RemoveField("A95_1"); form.RemoveField("A96_1"); form.RemoveField("A97_1"); }
                    //////    //                else { form.RemoveField("A89_8"); form.RemoveField("A98_2"); form.RemoveField("A95_1"); form.RemoveField("A103_2"); form.RemoveField("A96_1"); form.RemoveField("A97_1"); }
                    //////    //            }
                    //////    //    }
                    //////    //}
                    //////    //else if (args[184] == "2") { form.RemoveField("A89_8"); form.RemoveField("A98_2"); form.RemoveField("A91_1"); }
                    //////    //else if (args[184] == "3") { form.RemoveField("A89_8"); form.RemoveField("A90_1"); form.RemoveField("A98_2"); }
                    //////    //else if (args[184] == "4") { form.RemoveField("A89_8"); form.RemoveField("A90_1"); form.RemoveField("A98_2"); form.RemoveField("A105_3"); }
                    //////    //else if (args[184] == "5") { form.RemoveField("A89_8"); form.RemoveField("A90_1"); form.RemoveField("A98_2"); form.RemoveField("A105_3"); form.RemoveField("A110_4"); }
                    //////    //else if (args[184] == "6") { form.RemoveField("A89_8"); form.RemoveField("A90_1"); form.RemoveField("A98_2"); form.RemoveField("A105_3"); form.RemoveField("A110_4"); form.RemoveField("A115_5"); }
                    //////    //else if (args[184] == "7") { form.RemoveField("A89_8"); form.RemoveField("A90_1"); form.RemoveField("A98_2"); form.RemoveField("A105_3"); form.RemoveField("A110_4"); form.RemoveField("A115_5"); form.RemoveField("A119_6"); }
                    //////    //else { form.RemoveField("A90_1"); form.RemoveField("A98_2"); form.RemoveField("A105_3"); form.RemoveField("A110_4"); form.RemoveField("A115_5"); form.RemoveField("A119_6"); form.RemoveField("A122_7"); }
                    //////}
                    //////else if (args[173] == "2") { form.RemoveField("A89_8"); form.RemoveField("A90_1"); }
                    //////else if (args[173] == "3") { form.RemoveField("A89_8"); form.RemoveField("A90_1"); form.RemoveField("A98_2"); }
                    //////else if (args[173] == "4") { form.RemoveField("A89_8"); form.RemoveField("A90_1"); form.RemoveField("A98_2"); form.RemoveField("A105_3"); }
                    //////else if (args[173] == "5") { form.RemoveField("A89_8"); form.RemoveField("A90_1"); form.RemoveField("A98_2"); form.RemoveField("A105_3"); form.RemoveField("A110_4"); }
                    //////else if (args[173] == "6") { form.RemoveField("A89_8"); form.RemoveField("A90_1"); form.RemoveField("A98_2"); form.RemoveField("A105_3"); form.RemoveField("A110_4"); form.RemoveField("A115_5"); }
                    //////else if (args[173] == "7") { form.RemoveField("A89_8"); form.RemoveField("A90_1"); form.RemoveField("A98_2"); form.RemoveField("A105_3"); form.RemoveField("A110_4"); form.RemoveField("A115_5"); form.RemoveField("A119_6"); }
                    //////else  {form.RemoveField("A90_1"); form.RemoveField("A98_2"); form.RemoveField("A105_3"); form.RemoveField("A110_4"); form.RemoveField("A115_5"); form.RemoveField("A119_6"); form.RemoveField("A122_7"); }


                    //////if (args[184]== "1") { form.RemoveField("A89_8"); form.RemoveField("A98_2"); form.RemoveField("A99_2"); }
                    //////else if (args[184] == "2") {form.RemoveField("A89_8"); form.RemoveField("A98_2"); form.RemoveField("A91_1"); }
                    //////else if (args[184] == "3") { form.RemoveField("A89_8"); form.RemoveField("A90_1"); form.RemoveField("A98_2"); }
                    //////else if (args[184] == "4") { form.RemoveField("A89_8"); form.RemoveField("A90_1"); form.RemoveField("A98_2"); form.RemoveField("A105_3"); }
                    //////else if (args[184] == "5") {form.RemoveField("A89_8"); form.RemoveField("A90_1"); form.RemoveField("A98_2"); form.RemoveField("A105_3"); form.RemoveField("A110_4"); }
                    //////else if (args[184] == "6") { form.RemoveField("A89_8"); form.RemoveField("A90_1"); form.RemoveField("A98_2"); form.RemoveField("A105_3"); form.RemoveField("A110_4"); form.RemoveField("A115_5"); }
                    //////else if (args[184] == "7") { form.RemoveField("A89_8"); form.RemoveField("A90_1"); form.RemoveField("A98_2"); form.RemoveField("A105_3"); form.RemoveField("A110_4"); form.RemoveField("A115_5"); form.RemoveField("A119_6"); }
                    //////else { form.RemoveField("A90_1"); form.RemoveField("A98_2"); form.RemoveField("A105_3"); form.RemoveField("A110_4"); form.RemoveField("A115_5"); form.RemoveField("A119_6"); form.RemoveField("A122_7"); }

                    //////form.RegenerateField("A89_8");

                    //////////////////////////////////////if (args[195] == "1") { /*form.SetField("A92");*/ form.RemoveField("A92"); form.RemoveField("A93"); }


                    //////////////////////////////////////if (args[206] == "1") { /*form.SetField("A92");*/ form.RemoveField("A92"); form.RemoveField("A93"); }


                    //////////////////////////////////////if (args[217] == "1") { /*form.SetField("A92");*/ form.RemoveField("A92"); form.RemoveField("A93"); }


                    //////////////////////////////////////if (args[228] == "1") { /*form.SetField("A92");*/ form.RemoveField("A92"); form.RemoveField("A93"); }
                    //form.SetField("A2", args[6]);

                    //////form.SetField("A8", args[12]); form.SetField("A9", args[13]); form.SetField("A10", args[14]);
                    //////form.SetField("A11", args[15]); form.SetField("A12", args[16]); form.SetField("A13", args[17]); form.SetField("A14", args[18]); form.SetField("A15", args[19]);
                    //////form.SetField("A16", args[20]); form.SetField("A18", args[22]); form.SetField("A19", args[23]); form.SetField("A20", args[24]);

                    //////form.SetField("A26", args[30]); form.SetField("A27", args[31]); form.SetField("A28", args[32]); form.SetField("A29", args[33]); form.SetField("A30", args[34]);
                    //////form.SetField("A31", args[35]); form.SetField("A32", args[36]); form.SetField("A33", args[37]); form.SetField("A34", args[38]); form.SetField("A35", args[39]);
                    //////form.SetField("A36", args[40]);

                    //////form.SetField("A67", args[71]); form.SetField("A68", args[72]);  form.SetField("A70", args[74]);
                    //////form.SetField("A71", args[75]); form.SetField("A72", args[76]); form.SetField("A73", args[77]); form.SetField("A74", args[78]); form.SetField("A75", args[79]);
                    //////form.SetField("A76", args[80]); form.SetField("A77", args[81]); form.SetField("A78", args[82]); form.SetField("A79", args[83]);
                    //////form.SetField("A81", args[85]);   form.SetField("A84", args[88]); form.SetField("A85", args[89]);
                    //////form.SetField("A89", args[90]);
                    //////form.SetField("A87", args[91]); form.SetField("A88", args[92]); form.SetField("A89", args[93]); form.SetField("A90", args[94]);
                    //////form.SetField("A92", args[96]);   form.SetField("A95", args[99]);
                    //////form.SetField("A96", args[100]); form.SetField("A97", args[101]); form.SetField("A98", args[102]); form.SetField("A99", args[103]); form.SetField("A100", args[104]);
                    //////form.SetField("A101", args[105]); form.SetField("A103", args[107]);
                    //////form.SetField("A106", args[110]); form.SetField("A107", args[111]); form.SetField("A108", args[112]); form.SetField("A109", args[113]); form.SetField("A110", args[114]);
                    ////// form.SetField("A112", args[116]); form.SetField("A114", args[118]); /*form.SetField("A115", args[119]);*/
                    ////// form.SetField("A117", args[121]); form.SetField("A118", args[122]); form.SetField("A119", args[123]); form.SetField("A120", args[124]);
                    //////form.SetField("A121", args[125]); form.SetField("A122", args[126]); form.SetField("A123", args[127]);  form.SetField("A125", args[129]);
                    //////  form.SetField("A128", args[132]); form.SetField("A129", args[133]); form.SetField("A130", args[134]);
                    //////form.SetField("A131", args[135]); form.SetField("A132", args[136]); form.SetField("A133", args[137]); form.SetField("A134", args[138]);
                    //////form.SetField("A136", args[140]);   form.SetField("A139", args[143]); form.SetField("A140", args[144]);
                    //////form.SetField("A141", args[145]); form.SetField("A142", args[146]); form.SetField("A143", args[147]); form.SetField("A144", args[148]); form.SetField("A145", args[149]);
                    ////// form.SetField("A147", args[151]);  form.SetField("A150", args[154]);
                    //////form.SetField("A151", args[155]); form.SetField("A152", args[156]); form.SetField("A153", args[157]); form.SetField("A154", args[158]); form.SetField("A155", args[159]);
                    //////form.SetField("A156", args[160]);  form.SetField("A158", args[162]);
                    //////form.SetField("A161", args[165]); form.SetField("A162", args[166]); form.SetField("A163", args[167]); form.SetField("A164", args[168]); form.SetField("A165", args[169]);
                    //////form.SetField("A166", args[170]); form.SetField("A167", args[171]); form.SetField("A168", args[172]); form.SetField("A169", args[173]); form.SetField("A170", args[174]);
                    //////form.SetField("A171", args[175]); form.SetField("A172", args[176]); form.SetField("A173", args[177]); form.SetField("A174", args[178]); form.SetField("A175", args[179]);
                    //////form.SetField("A176", args[180]); form.SetField("A177", args[181]); form.SetField("A178", args[182]); form.SetField("A179", args[183]); form.SetField("A180", args[184]);
                    //////form.SetField("A181", args[185]);  form.SetField("A183", args[187]); form.SetField("A184", args[188]); form.SetField("A185", args[189]);
                    //////form.SetField("A186", args[190]); form.SetField("A187", args[191]); form.SetField("A188", args[192]); form.SetField("A189", args[193]); form.SetField("A190", args[194]);
                    //////form.SetField("A191", args[195]); form.SetField("A192", args[196]); form.SetField("A193", args[197]); form.SetField("A194", args[198]); form.SetField("A195", args[199]);
                    //////form.SetField("A196", args[200]); form.SetField("A197", args[201]); form.SetField("A198", args[202]); form.SetField("A199", args[203]); form.SetField("A200", args[204]);
                    //////form.SetField("A201", args[205]); form.SetField("A202", args[206]); form.SetField("A203", args[207]); form.SetField("A204", args[208]); form.SetField("A205", args[209]);
                    //////form.SetField("A206", args[210]); form.SetField("A207", args[211]); form.SetField("A208", args[212]); form.SetField("A209", args[213]); form.SetField("A210", args[214]);
                    //////form.SetField("A211", args[215]); form.SetField("A212", args[216]); form.SetField("A213", args[217]); form.SetField("A214", args[218]); form.SetField("A215", args[219]);
                    //////form.SetField("A216", args[220]); form.SetField("A217", args[221]); form.SetField("A218", args[222]); form.SetField("A219", args[223]); form.SetField("A220", args[224]);
                    //////form.SetField("A221", args[225]); form.SetField("A222", args[226]); form.SetField("A223", args[227]); form.SetField("A224", args[228]); form.SetField("A225", args[229]);
                    //////form.SetField("A226", args[230]); form.SetField("A227", args[231]); form.SetField("A228", args[232]); form.SetField("A229", args[233]); form.SetField("A230", args[234]);
                    //////form.SetField("A231", args[235]); form.SetField("A232", args[236]); form.SetField("A233", args[237]); form.SetField("A234", args[238]); form.SetField("A235", args[239]);
                    //////form.SetField("A236", args[240]); form.SetField("A237", args[241]); form.SetField("A238", args[242]); form.SetField("A239", args[243]); form.SetField("A240", args[244]);
                    //////form.SetField("A241", args[245]); form.SetField("A242", args[246]); form.SetField("A243", args[247]); form.SetField("A244", args[248]); form.SetField("A245", args[249]);
                    //////form.SetField("A246", args[250]); /*form.SetField("NComp1", args[251]); form.SetField("NComp2", args[252]); form.SetField("NComp3", args[253]);*/
                    //Image image = Image.GetInstance(@"C:\Users\cherednikov\Pictures\original22.jpg");

                    //doc.("im1", image);


                    //////////var jpg = iTextSharp.text.Image.GetInstance(@"C:\Users\cherednikov\Pictures\original22.jpg");
                    //////////jpg.SetAbsolutePosition(430, 750);
                    //////////jpg.Annotation = new Annotation("Title", "Text");
                    //////////templateReader.Add(jpg);



                    //iTextSharp.Layout.Element.Image dogImage = new iTextSharp.Layout.Element.Image(ImageDataFactory.Create(DOG));
                    //iTextSharp.text.Image im1 = iTextSharp.text.Image.GetInstance(@"C:\Users\cherednikov\Pictures\original22.jpg");
                    //PdfImage image = im1;
                    //////im1.ScalePercent(70);

                    ////////////////////var jpg = iTextSharp.text.Image.GetInstance(@"C:\Users\cherednikov\Pictures\original22.jpg");
                    ////////////////////jpg.SetAbsolutePosition(430, 750);
                    ////////////////////jpg.Annotation = new Annotation("Title", "Text");

                    // Image image = Image.GetInstance(@"C:\Users\cherednikov\Pictures\original22.jpg");
                    ////////jpg.ScaleToFit(250f, 250f);
                    ////////jpg.Border = Rectangle.BOX;
                    //////////jpg.BorderColor = Color.YELLOW;
                    ////////jpg.BorderWidth = 5f;
                    ////////Add(jpg);

                    //////////document.Add(jpg);
                    ////////PdfPCell cell = new PdfPCell(image);
                    ////////cell.PaddingTop = 0;
                    ////////cell.PaddingRight = 0;
                    ////////cell.PaddingBottom = 0;
                    ////////cell.PaddingLeft = 0;
                    ////////cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER;
                    ////////cell.VerticalAlignment = PdfPCell.ALIGN_MIDDLE;
                    ////////cell.Border = 0;
                    ////////cell.BackgroundColor = new BaseColor(37, 168, 81); ;
                    ////////table.AddCell(cell);
                    //////////XImage img = XImage.FromFile(@"C:\Users\cherednikov\Pictures\original22.jpg");
                    //form.SetField("im1", @"C:\Users\cherednikov\Pictures\original22.jpg");

                    // Установка запрета на редактирование полей.
                    resultStamper.FormFlattening = true;
                    resultStamper.Writer.Add(table);
                    resultStamper.Close();
                }
                templateReader.Close();
            }
            //File.Copy(@"C:\\Users\\cherednikov\\Desktop\\АКТЫ\\" + pf + ".pdf", @"C:\\Users\\cherednikov\\Desktop\\АКТЫ\\123777\\" + pf + ".pdf");
            //if (Puti[5] == "WIN-D3J6PR1H9QK")
            //{ File.Copy(@"F:\\archiv\\AKT\\" + pf + ".pdf", @"F:\\archivACT\\act\\" + pf + ".pdf"); }
            //else { File.Copy(@"" + Puti[3] + pf + ".pdf", @"" + Puti[4] + pf + ".pdf"); };
            //  File.Copy(@"F:\\archiv\\AKT\\" + pf + ".pdf", @"F:\\archivACT\\act\\" + pf + ".pdf");
        }
Example #23
0
        /// <summary>
        /// 处理单个页面。
        /// </summary>
        /// <param name="pgs"></param>
        /// <param name="items"></param>
        private void ProcessPage(Pages pgs, IEnumerable items)
        {
            foreach (PageItem pi in items)
            {
                //if (pi.SI.BackgroundImage != null)
                //{
                //    PageImage bgImg = pi.SI.BackgroundImage;
                //    iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(bgImg.ImageData);
                //    document.Add(image);
                //}

                if (pi is PageTextHtml)
                {
                    PageTextHtml pth = pi as PageTextHtml;
                    pth.Build(pgs.G);
                    ProcessPage(pgs, pth);
                    continue;
                }

                if (pi is PageText)
                {
                    PageText pt = pi as PageText;

                    iTextSharp.text.pdf.PdfContentByte cb = this.pdfWriter.DirectContent;

                    float y = getYvalue(pi.Y, pt.H);

                    //边线

                    if (pi.SI.BStyleLeft != BorderStyleEnum.None)
                    {
                        cb.MoveTo(pt.X, y);
                        cb.SetLineWidth(pi.SI.BWidthLeft);
                        cb.SetRGBColorStrokeF(pi.SI.BColorLeft.R, pi.SI.BColorLeft.G, pi.SI.BColorLeft.B);

                        cb.LineTo(pt.X, y + pt.H);

                        cb.Stroke();
                    }

                    if (pi.SI.BStyleRight != BorderStyleEnum.None)
                    {
                        cb.MoveTo(pt.X + pt.W, y);
                        cb.SetLineWidth(pi.SI.BWidthRight);
                        cb.SetRGBColorStrokeF(pi.SI.BColorRight.R, pi.SI.BColorRight.G, pi.SI.BColorRight.B);

                        cb.LineTo(pt.X + pt.W, y + pt.H);

                        cb.Stroke();
                    }

                    if (pi.SI.BStyleTop != BorderStyleEnum.None)
                    {
                        cb.MoveTo(pt.X, y + pt.H);
                        cb.SetLineWidth(pi.SI.BWidthTop);
                        cb.SetRGBColorStrokeF(pi.SI.BColorTop.R, pi.SI.BColorTop.G, pi.SI.BColorTop.B);

                        cb.LineTo(pt.X + pt.W, y + pt.H);

                        cb.Stroke();
                    }

                    if (pi.SI.BStyleBottom != BorderStyleEnum.None)
                    {
                        cb.MoveTo(pt.X, y);
                        cb.SetLineWidth(pi.SI.BWidthTop);
                        cb.SetRGBColorStrokeF(pi.SI.BColorTop.R, pi.SI.BColorTop.G, pi.SI.BColorTop.B);

                        cb.LineTo(pt.X + pt.W, y);

                        cb.Stroke();
                    }

                    //绝对定义文字

                    iTextSharp.text.Font font = TextUtility.GetFont(pi.SI, pt.Text);

                    float[]  widih;
                    string[] sa = MeasureString(pt, pgs.G, out widih);

                    int rows = sa.Length;

                    //x标准固定

                    float x     = pt.X + pi.SI.PaddingLeft;
                    int   align = iTextSharp.text.pdf.PdfContentByte.ALIGN_LEFT;

                    if (pi.SI.TextAlign == TextAlignEnum.Right)
                    {
                        align = iTextSharp.text.pdf.PdfContentByte.ALIGN_RIGHT;
                        x     = pt.X + pt.W - pi.SI.PaddingRight - 1;
                    }
                    else if (pi.SI.TextAlign == TextAlignEnum.Center)
                    {
                        align = iTextSharp.text.pdf.PdfContentByte.ALIGN_CENTER;
                        x     = pt.X + pt.W / 2;
                    }

                    cb.BeginText();
                    cb.SetFontAndSize(font.BaseFont, font.Size);

                    for (int i = 0; i < rows; i++)
                    {
                        float Yt = y + i * font.Size + 1;

                        if (pi.SI.VerticalAlign == VerticalAlignEnum.Top)
                        {
                            Yt = y + pt.H - font.Size * (rows - (i + 1)) - 1;
                        }
                        else if (pi.SI.VerticalAlign == VerticalAlignEnum.Middle)
                        {
                            Yt = y + (pt.H - font.Size * rows) / 2 + i * font.Size + 1;
                        }

                        cb.ShowTextAligned(align, sa[rows - i - 1], x, Yt, 0);
                        cb.EndText();
                    }

                    continue;
                }

                if (pi is PageLine)
                {
                    PageLine pl = pi as PageLine;

                    iTextSharp.text.pdf.PdfContentByte cb = this.pdfWriter.DirectContent;

                    float y1 = getYvalue(pl.Y, 0);
                    float y2 = getYvalue(pl.Y2, 0);

                    cb.MoveTo(pl.X, y1);
                    cb.LineTo(pl.X2, y2);

                    cb.Stroke();

                    continue;
                }

                if (pi is PageImage)
                {
                    PageImage i = pi as PageImage;

                    iTextSharp.text.pdf.PdfContentByte cb = this.pdfWriter.DirectContent;

                    float y = this.getYvalue(i.Y, i.H);

                    System.Drawing.RectangleF r2 = new System.Drawing.RectangleF(i.X + i.SI.PaddingLeft, y - i.SI.PaddingTop, i.W - i.SI.PaddingLeft - i.SI.PaddingRight, i.H - i.SI.PaddingTop - i.SI.PaddingBottom);

                    iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(i.ImageData);

                    image.SetAbsolutePosition(i.X, y);
                    image.ScaleAbsoluteHeight(i.H);
                    image.ScaleAbsoluteWidth(i.W);

                    cb.AddImage(image);

                    cb.Stroke();

                    continue;
                }

                if (pi is PageRectangle)
                {
                    PageRectangle pr = pi as PageRectangle;

                    iTextSharp.text.Rectangle r2 = new iTextSharp.text.Rectangle(pr.X, pr.Y, pr.W, pr.H);
                    r2.Border = 1;
                    document.Add(r2);
                    continue;
                }
            }
        }
Example #24
0
        public void makeCollectionPlusLabel(string filepath)
        {
            Document   document = new Document();
            FileStream fs       = new FileStream(filepath, FileMode.Create);
            PdfWriter  writer   = PdfWriter.GetInstance(document, fs);

            document.SetPageSize(new Rectangle(358, 418));//1/0.9  288, 437
            document.Open();
            document.NewPage();
            iTextSharp.text.io.StreamUtil.AddToResourceSearch(Assembly.Load("iTextAsian"));
            iTextSharp.text.io.StreamUtil.AddToResourceSearch(Assembly.Load("iTextAsianCmaps"));
            BaseFont baseFT = BaseFont.CreateFont("C:/WINDOWS/Fonts/Arial.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

            FontFactory.RegisterDirectory("C:\\WINDOWS\\Fonts");
            Font arial = FontFactory.GetFont("Arial");

            //BaseFont baseFT = BaseFont.CreateFont(BaseFont.TIMES_ROMAN,BaseFont.CP1252, false);

            iTextSharp.text.Font font = new iTextSharp.text.Font(baseFT, 15);

            //大的table
            PdfPTable table = new PdfPTable(1);

            table.WidthPercentage = 100;
            table.TotalWidth      = 286; //101mm

            //code128 client
            //Code128B co128 = new Code128B();
            ////co128.ValueFont = new System.Drawing.Font("宋体", 20);
            //System.Drawing.Bitmap imgTemp = co128.GetCodeImage(this.ClientBarcodeNumber, Code128B.Encode.Code128A);//Code128S传入,不能有“|”???
            //iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance((System.Drawing.Image)imgTemp, iTextSharp.text.BaseColor.WHITE);

            PdfPCell cell;
            //PdfPTable code128Table = new PdfPTable(1);
            ////code128Table.TotalWidth = 286;
            //////img.ScalePercent(70f);
            //img.ScaleAbsoluteHeight(28f);//10mm
            //img.ScaleAbsoluteWidth(193);//68mm
            //cell = new PdfPCell(img);
            //cell.BorderWidthBottom = 0;
            //cell.BorderWidthTop = 0;
            //cell.BorderWidthRight = 0;
            //cell.BorderWidthLeft = 0;
            //cell.Colspan = 1;
            //cell.HorizontalAlignment = Element.ALIGN_CENTER;
            //code128Table.AddCell(cell);



            //cell = new PdfPCell(new Phrase(this.ClientBarcodeNumber.ToUpper(), new Font(baseFT, 10)));
            //cell.BorderWidthTop = 0;
            //cell.BorderWidthBottom = 0;
            //cell.BorderWidthLeft = 0;
            //cell.BorderWidthRight = 0;
            //cell.HorizontalAlignment = Element.ALIGN_CENTER;
            //cell.PaddingTop = 2f;
            //cell.FixedHeight = 21f;//总高度8mm
            //code128Table.AddCell(cell);

            //cell = new PdfPCell(code128Table);
            ////cell.BorderWidthLeft = 0;
            ////cell.BorderWidthTop = 0;
            ////cell.BorderWidthBottom = 0;
            ////cell.BorderWidthRight = 0;
            //cell.PaddingTop = 15;
            //cell.FixedHeight = 70f;//总的高度为 mm

            //table.AddCell(cell);
            ////128 client二维码部分完成
            //Console.WriteLine("128二维码部分完成");

            //第二部分 clientName那一行
            PdfPTable table2 = new PdfPTable(2);

            table2.SetWidths(new int[] { 70, 30 });
            Phrase phrase = new Phrase(this.ClientName, new Font(baseFT, 15, Font.BOLD));

            cell = new PdfPCell(phrase);
            cell.BorderWidthTop      = 0;
            cell.BorderWidthBottom   = 0;
            cell.BorderWidthLeft     = 0;
            cell.BorderWidthRight    = 0;
            cell.Colspan             = 1;
            cell.HorizontalAlignment = Element.ALIGN_LEFT;
            cell.PaddingTop          = 8;
            cell.PaddingLeft         = 5;
            table2.AddCell(cell);

            string path = AppDomain.CurrentDomain.BaseDirectory + "\\image\\images\\collect_plus_logo.png";
            //Console.WriteLine(path);
            Image collect_plus_logo = Image.GetInstance(path);

            collect_plus_logo.ScaleAbsoluteHeight(30f);
            collect_plus_logo.ScaleAbsoluteWidth(75f);
            cell = new PdfPCell(collect_plus_logo);
            cell.BorderWidthTop      = 0;
            cell.BorderWidthBottom   = 0;
            cell.BorderWidthLeft     = 0;
            cell.BorderWidthRight    = 0;
            cell.Colspan             = 1;
            cell.HorizontalAlignment = Element.ALIGN_RIGHT;
            cell.PaddingTop          = 0;
            cell.PaddingBottom       = 3;
            table2.AddCell(cell);
            table.AddCell(table2);

            PdfPTable table3 = new PdfPTable(2);

            table3.SetWidths(new int[] { 40, 60 });    // 设置各列宽度,单位是百分比
            PdfPTable tableLeft  = new PdfPTable(1);
            PdfPTable tableRight = new PdfPTable(1);

            Chunk chunk1 = new Chunk("Depot\n", new Font(baseFT, 10));
            Chunk chunk2 = new Chunk(this.RoutDepotNumber + " " + this.RoutDepotName, new Font(baseFT, 15, Font.BOLD));
            Chunk chunk3;
            Chunk chunk4;
            Chunk chunk5;
            Chunk chunk6;

            phrase = new Phrase();
            phrase.Add(chunk1);
            phrase.Add(chunk2);
            cell = new PdfPCell(phrase);
            cell.PaddingBottom = 10;
            tableLeft.AddCell(cell);

            chunk1 = new Chunk("Label Date\n", new Font(baseFT, 10));
            chunk2 = new Chunk(this.LabelDate, new Font(baseFT, 15, Font.BOLD));
            phrase = new Phrase();
            phrase.Add(chunk1);
            phrase.Add(chunk2);
            cell = new PdfPCell(phrase);
            cell.PaddingBottom = 5;
            tableLeft.AddCell(cell);

            chunk1 = new Chunk("Returns Reference\n", new Font(baseFT, 10));
            chunk2 = new Chunk(this.ReturnsReference, new Font(baseFT, 15, Font.BOLD));
            phrase = new Phrase();
            phrase.Add(chunk1);
            phrase.Add(chunk2);
            cell = new PdfPCell(phrase);
            cell.PaddingBottom = 5;
            tableLeft.AddCell(cell);


            chunk1 = new Chunk("Lydia\n".ToUpper(), new Font(baseFT, 10));
            chunk2 = new Chunk("The Old Bus Garage\n".ToUpper(), new Font(baseFT, 10));
            chunk3 = new Chunk("Harborne Lane\n".ToUpper(), new Font(baseFT, 10));
            chunk4 = new Chunk("Selly Oak\n".ToUpper(), new Font(baseFT, 10));
            chunk5 = new Chunk("Birmingham\n".ToUpper(), new Font(baseFT, 10));
            chunk6 = new Chunk("B29 6SN", new Font(baseFT, 20, Font.BOLD));
            phrase = new Phrase();
            phrase.Add(chunk1);
            phrase.Add(Chunk.NEWLINE.setLineHeight(3));
            phrase.Add(chunk2);
            phrase.Add(Chunk.NEWLINE.setLineHeight(3));
            phrase.Add(chunk3);
            phrase.Add(Chunk.NEWLINE.setLineHeight(3));
            phrase.Add(chunk4);
            phrase.Add(Chunk.NEWLINE.setLineHeight(3));
            phrase.Add(chunk5);
            phrase.Add(chunk6);
            cell               = new PdfPCell(phrase);
            cell.PaddingTop    = 10;
            cell.PaddingBottom = 10;
            tableRight.AddCell(cell);


            //去除边框
            cell = new PdfPCell(tableLeft);
            cell.BorderWidthLeft   = 0;
            cell.BorderWidthTop    = 0;
            cell.BorderWidthBottom = 0;
            cell.BorderWidthRight  = 0;
            table3.AddCell(cell);

            cell = new PdfPCell(tableRight);
            cell.BorderWidthLeft   = 0;
            cell.BorderWidthTop    = 0;
            cell.BorderWidthBottom = 0;
            cell.BorderWidthRight  = 0;
            table3.AddCell(cell);

            cell = new PdfPCell(table3);
            cell.BorderWidthLeft   = 0;
            cell.BorderWidthTop    = 0;
            cell.BorderWidthBottom = 0;
            cell.BorderWidthRight  = 0;
            //第三大行完成
            table.AddCell(cell);

            //第四行 Storekeeper Instruction
            PdfPTable table4 = new PdfPTable(1);

            chunk1 = new Chunk("Storekeeper Instruction\n", new Font(baseFT, 8, Font.BOLD));
            chunk2 = new Chunk("GIVE TO THE DRIVER", new Font(baseFT, 15, Font.BOLD));
            phrase = new Phrase();
            phrase.Add(chunk1);
            phrase.Add(Chunk.NEWLINE.setLineHeight(5));
            phrase.Add(chunk2);
            cell = new PdfPCell(phrase);
            cell.HorizontalAlignment = Element.ALIGN_CENTER;
            cell.BorderWidthLeft     = 0;
            cell.BorderWidthTop      = 0;
            cell.BorderWidthBottom   = 0;
            cell.BorderWidthRight    = 0;
            cell.PaddingTop          = 3;
            cell.PaddingBottom       = 10;
            table4.AddCell(cell);
            table.AddCell(table4);

            //第五行,二维码部分
            //第五行,头一行文字
            PdfPTable table5 = new PdfPTable(1);

            phrase = new Phrase("COLLECTION+ BARCODE BELOW", new Font(baseFT, 12, Font.BOLD));
            cell   = new PdfPCell(phrase);
            cell.HorizontalAlignment = Element.ALIGN_CENTER;
            cell.BorderWidthLeft     = 0;
            cell.BorderWidthTop      = 0;
            cell.BorderWidthBottom   = 0;
            cell.BorderWidthRight    = 0;
            cell.PaddingTop          = 10;
            cell.PaddingBottom       = 15;
            table5.AddCell(cell);

            //第五部分collectBarcode
            Code128B collectBarcode = new Code128B();

            //co128.ValueFont = new System.Drawing.Font("宋体", 20);
            System.Drawing.Bitmap imgCollectBarcode = collectBarcode.GetCodeImage(this.BarcodeNumber, Code128B.Encode.Code128A);//Code128S传入,不能有“|”???

            iTextSharp.text.Image imgcollectBarcode = iTextSharp.text.Image.GetInstance(imgCollectBarcode, iTextSharp.text.BaseColor.WHITE);
            imgcollectBarcode.ScaleAbsoluteHeight(77f); //27mm
            imgcollectBarcode.ScaleAbsoluteWidth(199f); //70.2mm
            cell = new PdfPCell(imgcollectBarcode);
            cell.BorderWidthBottom   = 0;
            cell.BorderWidthTop      = 0;
            cell.BorderWidthRight    = 0;
            cell.BorderWidthLeft     = 0;
            cell.Colspan             = 1;
            cell.HorizontalAlignment = Element.ALIGN_CENTER;
            table5.AddCell(cell);

            //第五部分CodeString
            this.BarcodeNumber = this.BarcodeNumber.Replace("0", "Ø");
            phrase             = new Phrase(this.BarcodeNumber, new Font(baseFT, 15, Font.BOLD));//"883KØØØØ7116AØ51"
            cell = new PdfPCell(phrase);
            cell.HorizontalAlignment = Element.ALIGN_CENTER;
            cell.BorderWidthLeft     = 0;
            cell.BorderWidthTop      = 0;
            cell.BorderWidthBottom   = 0;
            cell.BorderWidthRight    = 0;
            cell.PaddingTop          = 10;
            cell.PaddingBottom       = 10;
            table5.AddCell(cell);

            table.AddCell(table5);

            document.Add(table);
            document.Close();
            Console.WriteLine("全部完成");
        }
        public async Task <IActionResult> activosEnManteJefePdf(int idJefe)
        {
            Document doc = new Document(PageSize.Letter);

            doc.SetMargins(40f, 40f, 40f, 40f);
            MemoryStream ms     = new MemoryStream();
            PdfWriter    writer = PdfWriter.GetInstance(doc, ms);

            //Instanciamos la clase para el paginado y la fecha de impresión
            var pe = new PageEventHelper();

            writer.PageEvent = pe;

            doc.AddAuthor("Asgard");
            doc.AddTitle("Reporte activos en mantenimiento");
            doc.Open();

            //Inicia cuerpo del reporte

            //Estilo y fuente personalizada
            BaseFont fuente = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo = new iTextSharp.text.Font(fuente, 12f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente2 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo2 = new iTextSharp.text.Font(fuente2, 10f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente3  = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo3 = new iTextSharp.text.Font(fuente3, 15f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente4  = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo4 = new iTextSharp.text.Font(fuente4, 11f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));

            //Para las celdas
            BaseFont fuente5 = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, true);

            iTextSharp.text.Font parrafo5 = new iTextSharp.text.Font(fuente5, 10f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));


            //Encabezado
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                CooperativaAF oCooperativaAF = new CooperativaAF();
                Cooperativa   oCooperativa   = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;
                oCooperativaAF.nombre        = oCooperativa.Nombre;
                oCooperativaAF.descripcion   = oCooperativa.Descripcion;

                //Se agrega el encabezado
                var tbl1 = new PdfPTable(new float[] { 11f, 89f })
                {
                    WidthPercentage = 100f
                };
                tbl1.AddCell(new PdfPCell(new Phrase(" ", parrafo2))
                {
                    Border = 0, Rowspan = 2
                });
                tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Descripcion.ToUpper(), parrafo2))
                {
                    Border = 0, HorizontalAlignment = 1
                });
                tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Nombre.ToUpper(), parrafo3))
                {
                    Border = 0, HorizontalAlignment = 1
                });
                doc.Add(tbl1);
                doc.Add(new Phrase("\n"));
            }
            doc.Add(new Phrase("\n"));
            //Línea separadora
            Chunk linea = new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(1f, 100f, BaseColor.Black, Element.ALIGN_CENTER, 1f));

            doc.Add(linea);
            doc.Add(new Paragraph("REPORTE DE ACTIVOS EN MANTENIMIENTO", parrafo)
            {
                Alignment = Element.ALIGN_CENTER
            });

            //Espacio en blanco
            doc.Add(Chunk.Newline);

            //Agregamos una tabla
            var tbl = new PdfPTable(new float[] { 25f, 40f, 40f, 40f })
            {
                WidthPercentage = 100f
            };
            var c1 = new PdfPCell(new Phrase("CÓDIGO", parrafo2));
            var c2 = new PdfPCell(new Phrase("DESCRIPCIÓN", parrafo2));
            var c3 = new PdfPCell(new Phrase("RAZONES DE MANTENIMIENTO", parrafo2));
            var c4 = new PdfPCell(new Phrase("PERÍODO DE MANTENIMIENTO", parrafo2));

            //Agregamos a la tabla las celdas
            tbl.AddCell(c1);
            tbl.AddCell(c2);
            tbl.AddCell(c3);
            tbl.AddCell(c4);

            //Extraemos de la base y llenamos las celdas
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                Empleado      oempleado = bd.Empleado.Where(p => p.IdEmpleado == idJefe).FirstOrDefault();
                AreaDeNegocio oarea     = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oempleado.IdAreaDeNegocio).FirstOrDefault();
                IEnumerable <BienesSolicitadosMttoAF> lista = (from bienMtto in bd.BienMantenimiento
                                                               join activo in bd.ActivoFijo
                                                               on bienMtto.IdBien equals activo.IdBien
                                                               join solicitud in bd.SolicitudMantenimiento
                                                               on bienMtto.IdSolicitud equals solicitud.IdSolicitud
                                                               join resposable in bd.Empleado
                                                               on activo.IdResponsable equals resposable.IdEmpleado
                                                               join area in bd.AreaDeNegocio
                                                               on resposable.IdAreaDeNegocio equals area.IdAreaNegocio
                                                                                                                                                                   //  join informe in bd.InformeMantenimiento
                                                                                                                                                                   // on bienMtto.IdMantenimiento equals informe.IdMantenimiento
                                                               where activo.EstadoActual == 3 && bienMtto.Estado == 1 && area.IdAreaNegocio == oarea.IdAreaNegocio //ELEMENTO 2 LISTA
                                                               select new BienesSolicitadosMttoAF
                {
                    idBien = activo.IdBien,
                    idmantenimiento = bienMtto.IdMantenimiento,
                    estadoActual = (int)activo.EstadoActual,
                    Codigo = activo.CorrelativoBien,
                    Descripcion = activo.Desripcion,
                    Periodo = bienMtto.PeriodoMantenimiento,
                    Razon = bienMtto.RazonMantenimiento,
                    fechacadena = solicitud.Fecha == null ? " " : ((DateTime)solicitud.Fecha).ToString("dd-MM-yyyy"),
                }).ToList();
                foreach (var activosmante in lista)
                {
                    c1.Phrase = new Phrase(activosmante.Codigo, parrafo5);
                    c2.Phrase = new Phrase(activosmante.Descripcion, parrafo5);
                    c3.Phrase = new Phrase(activosmante.Razon, parrafo5);
                    c4.Phrase = new Phrase(activosmante.Periodo, parrafo5);



                    //Agregamos a la tabla
                    tbl.AddCell(c1);
                    tbl.AddCell(c2);
                    tbl.AddCell(c3);
                    tbl.AddCell(c4);
                }

                //INICIO DE ADICIÓN DE LOGO
                CooperativaAF oCooperativaAF = new CooperativaAF();

                Cooperativa oCooperativa = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;


                try
                {
                    iTextSharp.text.Image logo = null;
                    logo             = iTextSharp.text.Image.GetInstance(oCooperativa.Logo.ToString());
                    logo.Alignment   = iTextSharp.text.Image.ALIGN_LEFT;
                    logo.Border      = iTextSharp.text.Rectangle.NO_BORDER;
                    logo.BorderColor = iTextSharp.text.BaseColor.White;
                    logo.ScaleToFit(170f, 100f);

                    float ancho      = logo.Width;
                    float alto       = logo.Height;
                    float proporcion = alto / ancho;

                    logo.ScaleAbsoluteWidth(80);
                    logo.ScaleAbsoluteHeight(80 * proporcion);

                    logo.SetAbsolutePosition(40f, 695f);

                    doc.Add(logo);
                }
                catch (DocumentException dex)
                {
                    //log exception here
                }

                //FIN DE ADICIÓN DE LOGO
            }
            doc.Add(tbl);
            writer.Close();
            doc.Close();
            ms.Seek(0, SeekOrigin.Begin);
            return(File(ms, "application/pdf"));
        }
        public async Task <IActionResult> historialmantenimientopdf(int idbien)
        {
            Document doc = new Document(PageSize.Letter);

            doc.SetMargins(40f, 40f, 40f, 40f);
            MemoryStream ms     = new MemoryStream();
            PdfWriter    writer = PdfWriter.GetInstance(doc, ms);

            //Instanciamos la clase para el paginado y la fecha de impresión
            var pe = new PageEventHelper();

            writer.PageEvent = pe;

            doc.AddAuthor("Asgard");
            doc.AddTitle("Reporte historial mantenimiento");
            doc.Open();

            //Inicia cuerpo del reporte

            //Estilo y fuente personalizada
            BaseFont fuente = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo = new iTextSharp.text.Font(fuente, 12f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente2 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo2 = new iTextSharp.text.Font(fuente2, 11f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente3  = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo3 = new iTextSharp.text.Font(fuente3, 15f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente4  = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo4 = new iTextSharp.text.Font(fuente4, 11f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));

            //Para las celdas
            BaseFont fuente5 = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, true);

            iTextSharp.text.Font parrafo5 = new iTextSharp.text.Font(fuente5, 10f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));

            //Fuente para tarjeta
            BaseFont fuente6 = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo6 = new iTextSharp.text.Font(fuente2, 9f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente7  = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo7 = new iTextSharp.text.Font(fuente, 9f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));

            BaseFont fuente8 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo8 = new iTextSharp.text.Font(fuente2, 9f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));


            //Encabezado
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                CooperativaAF oCooperativaAF = new CooperativaAF();
                Cooperativa   oCooperativa   = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;
                oCooperativaAF.nombre        = oCooperativa.Nombre;
                oCooperativaAF.descripcion   = oCooperativa.Descripcion;

                //Se agrega el encabezado
                var tbl1 = new PdfPTable(new float[] { 11f, 89f })
                {
                    WidthPercentage = 100f
                };
                tbl1.AddCell(new PdfPCell(new Phrase(" ", parrafo2))
                {
                    Border = 0, Rowspan = 2
                });
                tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Descripcion.ToUpper(), parrafo2))
                {
                    Border = 0, HorizontalAlignment = 1
                });
                tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Nombre.ToUpper(), parrafo3))
                {
                    Border = 0, HorizontalAlignment = 1
                });
                doc.Add(tbl1);
                doc.Add(new Phrase("\n"));
            }
            doc.Add(new Phrase("\n"));
            //Línea separadora
            Chunk linea = new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(1f, 100f, BaseColor.Black, Element.ALIGN_CENTER, 1f));

            doc.Add(linea);
            doc.Add(new Paragraph("REPORTE HISTORIAL DE MANTENIMIENTO ", parrafo)
            {
                Alignment = Element.ALIGN_CENTER
            });

            //Espacio en blanco
            doc.Add(Chunk.Newline);

            //Extraemos de la base y llenamos las celdas
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                InformeMatenimientoAF odatos  = new InformeMatenimientoAF();
                ActivoFijo            oActivo = bd.ActivoFijo.Where(p => p.IdBien == idbien).First();

                odatos.descripcion = oActivo.Desripcion;
                odatos.codigo      = oActivo.CorrelativoBien;
                Empleado      oempleado = bd.Empleado.Where(p => p.IdEmpleado == oActivo.IdResponsable).First();
                AreaDeNegocio oArea     = bd.AreaDeNegocio.Where(p => p.IdAreaNegocio == oempleado.IdAreaDeNegocio).First();
                odatos.encargado     = oempleado.Nombres + " " + oempleado.Apellidos;
                odatos.areadenegocio = oArea.Nombre;
                // return odatos;


                //Cuerpo de la tarjeta
                var tbl1 = new PdfPTable(new float[] { 4f, 7f, 5f, 7f })
                {
                    WidthPercentage = 100f
                };
                tbl1.AddCell(new PdfPCell(new Phrase("Correlativo: ", parrafo6))
                {
                    Border = 0, Rowspan = 2
                });
                tbl1.AddCell(new PdfPCell(new Phrase(odatos.codigo, parrafo7))
                {
                    Border = 0
                });
                tbl1.AddCell(new PdfPCell(new Phrase("Descripción de activo: ", parrafo6))
                {
                    Border = 0, Rowspan = 2
                });
                tbl1.AddCell(new PdfPCell(new Phrase(odatos.descripcion, parrafo7))
                {
                    Border = 0
                });


                var tbl2 = new PdfPTable(new float[] { 4f, 7f, 5f, 7f })
                {
                    WidthPercentage = 100f
                };
                tbl2.AddCell(new PdfPCell(new Phrase("Encargado actual: ", parrafo6))
                {
                    Border = 0, Rowspan = 2
                });
                tbl2.AddCell(new PdfPCell(new Phrase(odatos.encargado, parrafo7))
                {
                    Border = 0
                });
                tbl2.AddCell(new PdfPCell(new Phrase("Área de negocio actual: ", parrafo6))
                {
                    Border = 0, Rowspan = 2
                });
                tbl2.AddCell(new PdfPCell(new Phrase(odatos.areadenegocio, parrafo7))
                {
                    Border = 0
                });



                doc.Add(tbl1);
                doc.Add(Chunk.Newline);
                doc.Add(tbl2);
                doc.Add(Chunk.Newline);


                //Tabla de transacciones
                // doc.Add(new Paragraph("TABLA HISTORIAL DE TRASPASOS", parrafo2) { Alignment = Element.ALIGN_CENTER });


                //Agregamos una tabla
                //Agregamos una tabla
                var tbl = new PdfPTable(new float[] { 25f, 30f, 25f, 30f, 20f, 40f })
                {
                    WidthPercentage = 100f
                };
                var c1 = new PdfPCell(new Phrase("FECHA", parrafo2));
                var c2 = new PdfPCell(new Phrase("TÉCNICO", parrafo2));
                var c3 = new PdfPCell(new Phrase("MANO DE OBRA", parrafo2));
                var c4 = new PdfPCell(new Phrase("MATERIALES", parrafo2));
                var c5 = new PdfPCell(new Phrase("COSTO TOTAL", parrafo2));
                var c6 = new PdfPCell(new Phrase("DESCRIPCIÓN", parrafo2));

                //Agregamos a la tabla las celdas
                tbl.AddCell(c1);
                tbl.AddCell(c2);
                tbl.AddCell(c3);
                tbl.AddCell(c4);
                tbl.AddCell(c5);
                tbl.AddCell(c6);


                IEnumerable <InformeMatenimientoAF> lista = (from tecnico in bd.Tecnicos
                                                             join informemante in bd.InformeMantenimiento
                                                             on tecnico.IdTecnico equals informemante.IdTecnico
                                                             join bienmante in bd.BienMantenimiento
                                                             on informemante.IdMantenimiento equals bienmante.IdMantenimiento
                                                             join bienes in bd.ActivoFijo
                                                             on bienmante.IdBien equals bienes.IdBien
                                                             where bienes.IdBien == idbien //&& informemante.Estado == 0 || informemante.Estado == 2 || informemante.Estado == 1
                                                             orderby bienes.CorrelativoBien

                                                             select new InformeMatenimientoAF
                {
                    idinformematenimiento = informemante.IdInformeMantenimiento,
                    idBien = bienes.IdBien,
                    idmantenimiento = (int)informemante.IdMantenimiento,
                    fechacadena = informemante.Fecha == null ? " " : ((DateTime)informemante.Fecha).ToString("dd-MM-yyyy"),
                    nombretecnico = tecnico.Nombre,
                    codigo = bienes.CorrelativoBien,
                    descripcion = informemante.Descripcion,
                    costomateriales = (double)informemante.CostoMateriales,
                    costomo = (double)informemante.CostoMo,
                    costototal = (double)informemante.CostoTotal,
                    bienes = bienes.Desripcion
                }).ToList();

                foreach (var historialmante in lista)
                {
                    c1.Phrase = new Phrase(historialmante.fechacadena, parrafo5);
                    c2.Phrase = new Phrase(historialmante.nombretecnico, parrafo5);
                    c3.Phrase = new Phrase("$" + historialmante.costomo.ToString(), parrafo5);
                    c4.Phrase = new Phrase("$" + historialmante.costomateriales.ToString(), parrafo5);
                    c5.Phrase = new Phrase("$" + historialmante.costototal.ToString(), parrafo5);
                    c6.Phrase = new Phrase(historialmante.descripcion, parrafo5);



                    //Agregamos a la tabla
                    tbl.AddCell(c1);
                    tbl.AddCell(c2);
                    tbl.AddCell(c3);
                    tbl.AddCell(c4);
                    tbl.AddCell(c5);
                    tbl.AddCell(c6);
                }
                doc.Add(tbl);
                //INICIO DE ADICIÓN DE LOGO
                CooperativaAF oCooperativaAF = new CooperativaAF();

                Cooperativa oCooperativa = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;


                try
                {
                    iTextSharp.text.Image logo = null;
                    logo             = iTextSharp.text.Image.GetInstance(oCooperativa.Logo.ToString());
                    logo.Alignment   = iTextSharp.text.Image.ALIGN_LEFT;
                    logo.Border      = iTextSharp.text.Rectangle.NO_BORDER;
                    logo.BorderColor = iTextSharp.text.BaseColor.White;
                    logo.ScaleToFit(170f, 100f);

                    float ancho      = logo.Width;
                    float alto       = logo.Height;
                    float proporcion = alto / ancho;

                    logo.ScaleAbsoluteWidth(80);
                    logo.ScaleAbsoluteHeight(80 * proporcion);

                    logo.SetAbsolutePosition(40f, 695f);

                    doc.Add(logo);
                }
                catch (DocumentException dex)
                {
                    //log exception here
                }

                //FIN DE ADICIÓN DE LOGO
            }
            writer.Close();
            doc.Close();
            ms.Seek(0, SeekOrigin.Begin);
            return(File(ms, "application/pdf"));
        }
Example #27
0
        public void FormPDF(Bitmap i1, Bitmap i2, Bitmap i3, string[] args, string NRUB, string GAng, Bitmap i4, Bitmap i5, Bitmap i6, Bitmap i7) //public void FormPDF(System.IO.Stream i1, System.IO.Stream i2, System.IO.Stream i3, string[] args)
        {
            String dir         = Environment.CurrentDirectory;                                                                                    //получаем текущую рабочую папку приложения
            String dir1        = Application.StartupPath;                                                                                         //получаем папку из которой произошел запуск приложения
            var    pdfTemplate = @"" + dir1 + "\\AKT.pdf";

            pdfFile = @"F:\\archiv\\AKT\\" + GAng + ".pdf"; //args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + ".pdf";
            pf      = GAng;                                 //args[259] + "_" + DateTime.Now.ToString("ddMMyyyy");
            using (var templateReader = new PdfReader(pdfTemplate))

            {
                if (i1 != null)
                {
                    System.Drawing.Bitmap imgg = new System.Drawing.Bitmap(i1);
                    imag = iTextSharp.text.Image.GetInstance(imgg, System.Drawing.Imaging.ImageFormat.Png);
                    imgg.Save(@"F:\\archiv\\AKT\\" + GAng + "_1.Jpg"); //" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_1.Jpg");
                }
                if (i2 != null)
                {
                    System.Drawing.Bitmap imgg2 = new System.Drawing.Bitmap(i2);
                    imag2 = iTextSharp.text.Image.GetInstance(imgg2, System.Drawing.Imaging.ImageFormat.Png);
                    imgg2.Save(@"F:\\archiv\\AKT\\" + GAng + "_grz.Jpg"); //" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_grz.Jpg");
                }
                if (i3 != null)
                {
                    System.Drawing.Bitmap imgg3 = new System.Drawing.Bitmap(i3);
                    imag3 = iTextSharp.text.Image.GetInstance(imgg3, System.Drawing.Imaging.ImageFormat.Png);
                    imgg3.Save(@"F:\\archiv\\AKT\\" + GAng + ".Jpg"); //" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + ".Jpg");
                }
                if (i4 != null)
                {
                    System.Drawing.Bitmap imgg4 = new System.Drawing.Bitmap(i4);
                    imag4 = iTextSharp.text.Image.GetInstance(imgg4, System.Drawing.Imaging.ImageFormat.Png);
                    imgg4.Save(@"F:\\archiv\\AKT\\" + GAng + "_2.Jpg"); //" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_2.Jpg");
                }
                if (i5 != null)
                {
                    System.Drawing.Bitmap imgg5 = new System.Drawing.Bitmap(i5);
                    imag5 = iTextSharp.text.Image.GetInstance(imgg5, System.Drawing.Imaging.ImageFormat.Png);
                    imgg5.Save(@"F:\\archiv\\AKT\\" + GAng + "_3.Jpg"); //" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_2.Jpg");
                }
                if (i6 != null)
                {
                    System.Drawing.Bitmap imgg6 = new System.Drawing.Bitmap(i6);
                    imag6 = iTextSharp.text.Image.GetInstance(imgg6, System.Drawing.Imaging.ImageFormat.Png);
                    imgg6.Save(@"F:\\archiv\\AKT\\" + GAng + "_4.Jpg"); //" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_2.Jpg");
                }
                if (i7 != null)
                {
                    System.Drawing.Bitmap imgg7 = new System.Drawing.Bitmap(i7);
                    imag7 = iTextSharp.text.Image.GetInstance(imgg7, System.Drawing.Imaging.ImageFormat.Png);
                    imgg7.Save(@"F:\\archiv\\AKT\\" + GAng + "_5.Jpg"); //" + args[259] + "_" + DateTime.Now.ToString("ddMMyyyy") + "_2.Jpg");
                }
                using (var resultStamper = new PdfStamper(templateReader, new FileStream(pdfFile, FileMode.Create)))
                {
                    var pdfcontentbyte = resultStamper.GetOverContent(2);
                    if (i1 != null)
                    {
                        imag.SetAbsolutePosition(55, 695);
                        imag.ScaleAbsoluteWidth(127);
                        imag.ScaleAbsoluteHeight(90);
                        imag.Alignment = Element.ALIGN_CENTER;
                        pdfcontentbyte.AddImage(imag);
                    }
                    if (i2 != null)
                    {
                        imag2.SetAbsolutePosition(230, 745);
                        imag2.ScaleAbsoluteWidth(137);
                        imag2.ScaleAbsoluteHeight(40);
                        imag2.Alignment = Element.ALIGN_CENTER;
                        pdfcontentbyte.AddImage(imag2);
                    }
                    if (i3 != null)
                    {
                        imag3.SetAbsolutePosition(404, 696);
                        imag3.ScaleAbsoluteWidth(146);
                        imag3.ScaleAbsoluteHeight(89);
                        imag3.Alignment = Element.ALIGN_CENTER;
                        pdfcontentbyte.AddImage(imag3);
                    }
                    // Получаем ссылку на форму с полями.
                    var form = resultStamper.AcroFields;
                    // Получаем все шрифты формы.
                    //BaseFont baseFont = BaseFont.CreateFont(@"C:\Users\cherednikov\Desktop\WFPDF\WFPDF\calibri.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
                    //iTextSharp.text.Font font = new iTextSharp.text.Font(baseFont, iTextSharp.text.Font.DEFAULTSIZE, iTextSharp.text.Font.NORMAL);
                    var font = templateReader.GetFormFonts();

                    // Установка значений полей формы.
                    // Установка значений полей формы.
                    form.SetFieldWithFont(templateReader, font, "NAkt", args[0]);
                    form.SetFieldWithFont(templateReader, font, "DAkt", args[1]); form.SetFieldWithFont(templateReader, font, "TAkt", args[2]);
                    form.SetFieldWithFont(templateReader, font, "NPrAkt", args[3]); form.SetFieldWithFont(templateReader, font, "NamKompl", args[4]);
                    form.SetField("A1", args[5]); form.SetField("A2", args[6]); form.SetField("A3", args[7]); form.SetField("A4", args[8]); form.SetField("A5", args[9]);
                    form.SetField("A6", args[10]); form.SetField("A7", args[11]); form.SetField("A8", args[12]); form.SetField("A9", args[13]); form.SetField("A10", args[14]);
                    form.SetField("A11", args[15]); form.SetField("A12", args[16]); form.SetField("A13", args[17]); form.SetField("A14", args[18]); form.SetField("A15", args[19]);
                    form.SetField("A16", args[20]); form.SetField("A17", args[21]); form.SetField("A18", args[22]); form.SetField("A19", args[23]); form.SetField("A20", args[24]);
                    form.SetField("A21", args[25]); form.SetField("A22", args[26]); form.SetField("A23", args[27]); form.SetField("A24", args[28]); form.SetField("A25", args[29]);
                    form.SetField("A26", args[30]); form.SetField("A27", args[31]); form.SetField("A28", args[32]); form.SetField("A29", args[33]); form.SetField("A30", args[34]);
                    form.SetField("A31", args[35]); form.SetField("A32", args[36]); form.SetField("A33", args[37]); form.SetField("A34", args[38]); form.SetField("A35", args[39]);
                    form.SetField("A214", args[218]); form.SetField("A225", args[229]);
                    form.SetField("A36", args[40]); form.SetField("A37", args[41]); form.SetField("A38", args[42]); form.SetField("A39", args[43]); form.SetField("A40", args[44]);
                    form.SetField("A41", args[45]); form.SetField("A42", args[46]); form.SetField("A43", args[47]); form.SetField("A44", args[48]); form.SetField("A45", args[49]);
                    form.SetField("A46", args[50]); form.SetField("A47", args[51]); form.SetField("A48", args[52]); form.SetField("A49", args[53]); form.SetField("A50", args[54]);
                    form.SetField("A51", args[55]); form.SetField("A52", args[56]); form.SetField("A53", args[57]); form.SetField("A54", args[58]); form.SetField("A55", args[59]);
                    form.SetField("A56", args[60]); form.SetField("A57", args[61]); form.SetField("A58", args[62]); form.SetField("A59", args[63]); form.SetField("A60", args[64]);
                    form.SetField("A61", args[65]); form.SetField("A62", args[66]); form.SetField("A63", args[67]); form.SetField("A64", args[68]); form.SetField("A65", args[69]);
                    form.SetField("A66", args[70]); form.SetField("A67", args[71]); form.SetField("A68", args[72]); form.SetField("A69", args[73]); form.SetField("A70", args[74]);
                    form.SetField("A71", args[75]); form.SetField("A72", args[76]); form.SetField("A73", args[77]); form.SetField("A74", args[78]); form.SetField("A75", args[79]);
                    form.SetField("A76", args[80]); form.SetField("A77", args[81]); form.SetField("A78", args[82]); form.SetField("A79", args[83]); form.SetField("A80", args[84]);
                    form.SetField("A81", args[85]); form.SetField("A82", args[86]); form.SetField("A83", args[87]); form.SetField("A84", args[88]); form.SetField("A85", args[89]);
                    form.SetField("A86", args[90]); form.SetField("A87", args[91]); form.SetField("A88", args[92]); form.SetField("A89", args[93]); form.SetField("A90", args[94]);
                    form.SetField("A91", args[95]); form.SetField("A92", args[96]); form.SetField("A93", args[97]); form.SetField("A94", args[98]); form.SetField("A95", args[99]);
                    form.SetField("A96", args[100]); form.SetField("A97", args[101]); form.SetField("A98", args[102]); form.SetField("A99", args[103]); form.SetField("A100", args[104]);
                    form.SetField("A101", args[105]); form.SetField("A102", args[106]); form.SetField("A103", args[107]); form.SetField("A104", args[108]); form.SetField("A105", args[109]);
                    form.SetField("A106", args[110]); form.SetField("A107", args[111]); form.SetField("A108", args[112]); form.SetField("A109", args[113]); form.SetField("A110", args[114]);
                    form.SetField("A111", args[115]); form.SetField("A112", args[116]); form.SetField("A113", args[117]); form.SetField("A114", args[118]); form.SetField("A115", args[119]);
                    form.SetField("A116", args[120]); form.SetField("A117", args[121]); form.SetField("A118", args[122]); form.SetField("A119", args[123]); form.SetField("A120", args[124]);
                    form.SetField("A121", args[125]); form.SetField("A122", args[126]); form.SetField("A123", args[127]); form.SetField("A124", args[128]); form.SetField("A125", args[129]);
                    form.SetField("A126", args[130]); form.SetField("A127", args[131]); form.SetField("A128", args[132]); form.SetField("A129", args[133]); form.SetField("A130", args[134]);
                    form.SetField("A131", args[135]); form.SetField("A132", args[136]); form.SetField("A133", args[137]); form.SetField("A134", args[138]); form.SetField("A135", args[139]);
                    form.SetField("A136", args[140]); form.SetField("A137", args[141]); form.SetField("A138", args[142]); form.SetField("A139", args[143]); form.SetField("A140", args[144]);
                    form.SetField("A141", args[145]); form.SetField("A142", args[146]); form.SetField("A143", args[147]); form.SetField("A144", args[148]); form.SetField("A145", args[149]);
                    form.SetField("A146", args[150]); form.SetField("A147", args[151]); form.SetField("A148", args[152]); form.SetField("A149", args[153]); form.SetField("A150", args[154]);
                    form.SetField("A151", args[155]); form.SetField("A152", args[156]); form.SetField("A153", args[157]); form.SetField("A154", args[158]); form.SetField("A155", args[159]);
                    form.SetField("A156", args[160]); form.SetField("A157", args[161]); form.SetField("A158", args[162]); form.SetField("A159", args[163]); form.SetField("A160", args[164]);
                    form.SetField("A161", args[165]); form.SetField("A162", args[166]); form.SetField("A163", args[167]); form.SetField("A164", args[168]); form.SetField("A165", args[169]);
                    form.SetField("A166", args[170]); form.SetField("A167", args[171]); form.SetField("A168", args[172]); form.SetField("A169", args[173]); form.SetField("A170", args[174]);
                    form.SetField("A171", args[175]); form.SetField("A172", args[176]); form.SetField("A173", args[177]); form.SetField("A174", args[178]); form.SetField("A175", args[179]);
                    form.SetField("A176", args[180]); form.SetField("A177", args[181]); form.SetField("A178", args[182]); form.SetField("A179", args[183]); form.SetField("A180", args[184]);
                    form.SetField("A181", args[185]); form.SetField("A182", args[186]); form.SetField("A183", args[187]); form.SetField("A184", args[188]); form.SetField("A185", args[189]);
                    form.SetField("A186", args[190]); form.SetField("A187", args[191]); form.SetField("A188", args[192]); form.SetField("A189", args[193]); form.SetField("A190", args[194]);
                    form.SetField("A191", args[195]); form.SetField("A192", args[196]); form.SetField("A193", args[197]); form.SetField("A194", args[198]); form.SetField("A195", args[199]);
                    form.SetField("A196", args[200]); form.SetField("A197", args[201]); form.SetField("A198", args[202]); form.SetField("A199", args[203]); form.SetField("A200", args[204]);
                    form.SetField("A201", args[205]); form.SetField("A202", args[206]); form.SetField("A203", args[207]); form.SetField("A204", args[208]); form.SetField("A205", args[209]);
                    form.SetField("A206", args[210]); form.SetField("A207", args[211]); form.SetField("A208", args[212]); form.SetField("A209", args[213]); form.SetField("A210", args[214]);
                    form.SetField("A211", args[215]); form.SetField("A212", args[216]); form.SetField("A213", args[217]); /*form.SetField("A214", args[218]);*/ form.SetField("A215", args[219]);
                    form.SetField("A216", args[220]); form.SetField("A217", args[221]); form.SetField("A218", args[222]); form.SetField("A219", args[223]); form.SetField("A220", args[224]);
                    form.SetField("A221", args[225]); form.SetField("A222", args[226]); form.SetField("A223", args[227]); form.SetField("A224", args[228]); /*form.SetField("A225", args[229]);*/
                    form.SetField("A226", args[230]); form.SetField("A227", args[231]); form.SetField("A228", args[232]); form.SetField("A229", args[233]); form.SetField("A230", args[234]);
                    form.SetField("A231", args[235]); form.SetField("A232", args[236]); form.SetField("A233", args[237]); form.SetField("A234", args[238]); form.SetField("A235", args[239]);
                    form.SetField("A236", args[240]); form.SetField("A237", args[241]); form.SetField("A238", args[242]); form.SetField("A239", args[243]); form.SetField("A240", args[244]);
                    form.SetField("A241", args[245]); form.SetField("A242", args[246]); form.SetField("A243", args[247]); form.SetField("A244", args[248]); form.SetField("A245", args[249]);
                    form.SetField("A246", args[250]);
                    // Установка запрета на редактирование полей.
                    resultStamper.FormFlattening = true;

                    resultStamper.Close();
                }
                templateReader.Close();
            }

            //    File.Delete(@"F:\\archivACT\\act\\" + pf + ".pdf");
            //File.Copy(@"F:\\archiv\\AKT\\" + pf + ".pdf", @"F:\\archivACT\\act\\" + pf + ".pdf");
        }
Example #28
0
        /// <summary>
        /// Metodo para generarla factura en pdf
        /// </summary>
        #region FACTURA PDF
        private void facturaPDF()
        {
            // Creamos el documento con el tamaño de página tradicional
            Document doc = new Document(PageSize.LETTER);
            // Indicamos donde vamos a guardar el documento
            PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(Constantes.FACTURAS_VM + "/factura" + DateTime.Now.ToString("dd-MM-yyyy_H.mm.ss") + ".pdf", FileMode.Create));

            // Le colocamos el título y el autor
            // **Nota: Esto no será visible en el documento
            doc.AddTitle("Factura");
            doc.AddCreator("Pasteleria Marco");

            // Abrimos el archivo
            doc.Open();

            // Creamos el tipo de Font que vamos utilizar
            iTextSharp.text.Font _standardFont = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 8, iTextSharp.text.Font.NORMAL, BaseColor.BLACK);

            //Añadimos una imagen
            iTextSharp.text.Image logo = iTextSharp.text.Image.GetInstance(Constantes.MAIN_RUTA + "/Logo.PNG");
            logo.ScaleAbsoluteWidth(100);
            logo.ScaleAbsoluteHeight(100);
            logo.BorderWidth = 0;

            PdfPCell texto = new PdfPCell(new Phrase("Pasteleria Marco" + "\r\nPaseo de los Jesuitas 18, Madrid" + "\r\nTelf. 91 463 99 82" + "\r\nN.I.F. 07487245D"));

            texto.BorderWidth = 0;

            PdfPTable tblEncab = new PdfPTable(2);

            tblEncab.WidthPercentage = 100;

            tblEncab.AddCell(logo);
            tblEncab.AddCell(texto);

            doc.Add(tblEncab);

            // Escribimos el encabezamiento en el documento
            doc.Add(new Paragraph("Factura Nº: " + (Constantes.facturasMayor_TA.GetUltimaFactura() + 1)));
            doc.Add(new Paragraph("Fecha: " + System.DateTime.Now.ToString("dd - MM - yyyy")));
            doc.Add(new Paragraph("Cliente: " + Constantes.clientesMayor_TA.GetNomClienteMayor(Convert.ToInt32(cbClientesMayor.SelectedValue))));
            doc.Add(new Paragraph("CIF/NIF: " + Constantes.clientesMayor_TA.GetCifClienteMayor(Convert.ToInt32(cbClientesMayor.SelectedValue))));
            doc.Add(Chunk.NEWLINE);

            // Creamos una tabla
            PdfPTable tblPrueba = new PdfPTable(4);

            tblPrueba.WidthPercentage = 100;

            // Configuramos el título de las columnas de la tabla

            PdfPCell nombre = new PdfPCell(new Phrase("Nombre Producto", _standardFont));

            nombre.BorderWidth       = 0;
            nombre.BorderWidthBottom = 0.75f;

            PdfPCell cantidad = new PdfPCell(new Phrase("Cantidad", _standardFont));

            cantidad.BorderWidth       = 0;
            cantidad.BorderWidthBottom = 0.75f;

            PdfPCell precio = new PdfPCell(new Phrase("Precio", _standardFont));

            precio.BorderWidth       = 0;
            precio.BorderWidthBottom = 0.75f;

            PdfPCell total = new PdfPCell(new Phrase("Total", _standardFont));

            total.BorderWidth       = 0;
            total.BorderWidthBottom = 0.75f;

            // Añadimos las celdas a la tabla
            tblPrueba.AddCell(nombre);
            tblPrueba.AddCell(cantidad);
            tblPrueba.AddCell(precio);
            tblPrueba.AddCell(total);

            //Guardamos en la base de datos la factura
            string fecha_dia     = DateTime.Now.ToShortDateString();
            string fechaHora_dia = DateTime.Now.ToString();
            int    num_Pedido    = Convert.ToInt32(Constantes.pedidosMayor_TA.getPedidosDia(fecha_dia));
            int    cod_Pedido    = 0;
            int    num_detalle   = 1;
            int    cod_Factura   = 0;
            float  cant          = 0;
            float  pre           = 0.00f;
            string articulo      = "";

            Constantes.pedidosMayor_TA.Insert(fecha_dia, num_Pedido, Convert.ToInt32(cbClientesMayor.SelectedValue));
            cod_Pedido = Convert.ToInt32(Constantes.pedidosMayor_TA.getCodigoPedido(num_Pedido, fecha_dia));//Cod pedido introducido
            Constantes.facturasMayor_TA.Insert(cod_Pedido, fechaHora_dia);



            cod_Factura = Convert.ToInt32(Constantes.facturasMayor_TA.getCodigoFactura(cod_Pedido));
            foreach (DataGridViewRow row in cesta.Rows)
            {
                cant     = Convert.ToSingle(row.Cells[Constantes.COLUMNA_UNIDADES].Value);
                articulo = Convert.ToString(row.Cells[Constantes.COLUMNA_NOMBRE].Value);
                pre      = Convert.ToSingle(row.Cells[Constantes.COLUMNA_PRECIO].Value);

                Constantes.detalleFacMayor_TA.Insert(cod_Factura, num_detalle, cant, pre, articulo);
                num_detalle += 1;
            }
            DataTable compra        = Constantes.detalleFacMayor_TA.GetDetallePedido(cod_Factura);
            float     total_factura = 0.00f;

            // Llenamos la tabla con información
            foreach (DataRow row in compra.Rows)
            {
                float tot = 0.00f;

                string nom_Producto = Convert.ToString(row["Articulo"]);

                int   unidades       = Convert.ToInt32(row["Cantidad"]);
                float precio_detalle = Convert.ToSingle(row["Precio"]);

                tot = precio_detalle * (Convert.ToSingle(unidades));

                nombre             = new PdfPCell(new Phrase(nom_Producto, _standardFont));
                nombre.BorderWidth = 0;

                cantidad             = new PdfPCell(new Phrase(unidades.ToString(), _standardFont));
                cantidad.BorderWidth = 0;

                precio             = new PdfPCell(new Phrase(Math.Round(precio_detalle, 2).ToString() + "€", _standardFont));
                precio.BorderWidth = 0;

                total             = new PdfPCell(new Phrase(Math.Round(tot, 2).ToString() + "€", _standardFont));
                total.BorderWidth = 0;

                total_factura += tot;

                // Añadimos las celdas a la tabla
                tblPrueba.AddCell(nombre);
                tblPrueba.AddCell(cantidad);
                tblPrueba.AddCell(precio);
                tblPrueba.AddCell(total);
            }
            PdfPCell vacio = new PdfPCell(new Phrase("", _standardFont));

            vacio.BorderWidth    = 0;
            vacio.BorderWidthTop = 0.75f;

            PdfPCell subtotal = new PdfPCell(new Phrase("SUBTOTAL:", _standardFont));

            subtotal.BorderWidth    = 0;
            subtotal.BorderWidthTop = 0.75f;

            PdfPCell subtota = new PdfPCell(new Phrase(total_factura + "€", _standardFont));

            subtota.BorderWidth    = 0;
            subtota.BorderWidthTop = 0.75f;

            tblPrueba.AddCell(vacio);
            tblPrueba.AddCell(vacio);
            tblPrueba.AddCell(subtotal);
            tblPrueba.AddCell(subtota);

            PdfPCell vacio2 = new PdfPCell(new Phrase("", _standardFont));

            vacio2.BorderWidth = 0;

            PdfPCell iva = new PdfPCell(new Phrase("IVA " + ivacb + "%", _standardFont));

            iva.BorderWidth = 0;

            PdfPCell ivapre = new PdfPCell(new Phrase(Math.Round(((total_factura * Convert.ToInt32(ivacb)) / 100), 2) + "€", _standardFont));

            ivapre.BorderWidth = 0;

            tblPrueba.AddCell(vacio2);
            tblPrueba.AddCell(vacio2);
            tblPrueba.AddCell(iva);
            tblPrueba.AddCell(ivapre);

            PdfPCell tota = new PdfPCell(new Phrase("TOTAL:", _standardFont));

            tota.BorderWidth = 0;

            PdfPCell totaliva = new PdfPCell(new Phrase(Math.Round(((total_factura * Convert.ToInt32(ivacb)) / 100) + total_factura, 2) + "€", _standardFont));

            totaliva.BorderWidth = 0;

            tblPrueba.AddCell(vacio2);
            tblPrueba.AddCell(vacio2);
            tblPrueba.AddCell(tota);
            tblPrueba.AddCell(totaliva);

            // Finalmente, añadimos la tabla al documento PDF y cerramos el documento
            doc.Add(tblPrueba);

            doc.Close();
            writer.Close();
        }
        public void MakePdf()
        {
            string str1 = DateTime.Today.ToString("u");
            string str2 = str1.Replace(':', 's');
            string str3 = str2.Replace(',', 'd');
            //    string filname = DateTime.Today.ToString("");
            string        fileNamePrifix = customerNameBox.Text.Trim();
            string        final_fileName = fileNamePrifix + str3;
            string        dirctory       = Path.GetDirectoryName(@"C:\Users\Public\");
            DirectoryInfo df             = new DirectoryInfo(dirctory + @"\voucher\");

            if (df.Exists == false)
            {
                Directory.CreateDirectory(dirctory + @"\voucher\");
            }
            string filePath = df + final_fileName;


            Document  document = new Document(PageSize.A4, 75, 75, 75, 75);
            PdfWriter create   = PdfWriter.GetInstance(document, new FileStream(filePath + ".pdf", FileMode.Create));

            document.Open();

            // Font Entry
            BaseFont bf = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);

            iTextSharp.text.Font hedingfont = new iTextSharp.text.Font(bf, 30, iTextSharp.text.Font.BOLD, BaseColor.BLUE);
            iTextSharp.text.Font smfont     = new iTextSharp.text.Font(bf, 12, iTextSharp.text.Font.BOLD, BaseColor.BLACK);
            iTextSharp.text.Font thfont     = new iTextSharp.text.Font(bf, 12, iTextSharp.text.Font.BOLD, BaseColor.BLACK);
            iTextSharp.text.Font tdfont     = new iTextSharp.text.Font(bf, 12, iTextSharp.text.Font.NORMAL, BaseColor.BLACK);
            iTextSharp.text.Font signfont   = new iTextSharp.text.Font(bf, 11, iTextSharp.text.Font.BOLD, BaseColor.BLACK);
            signfont.SetColor(23, 45, 12);



            byte[] image = introduce.loadLogo();
            if (image != null)
            {
                Image logo = Image.GetInstance(image);
                logo.SetAbsolutePosition(40, 700);
                logo.ScaleAbsoluteWidth(70);
                logo.ScaleAbsoluteHeight(70);
                document.Add(logo);
            }



            // Customer Data
            Paragraph Header = new Paragraph();

            Header.Alignment = Element.ALIGN_CENTER;


            IntroduceModel introduction = introduce.GetInformation();

            if (introduction != null)
            {
                string instituteBox = introduction.InstituteName;
                string emailBox     = introduction.Email;
                string addresss     = introduction.Address;
                string web          = introduction.WebSite;
                string mobiles      = introduction.Mobile;
                string ownerName    = introduction.OwnerName;

                Header.Add(new Chunk(instituteBox, hedingfont));
                Header.Add(new Chunk("\n" + addresss, smfont));
                Header.Add(new Chunk("\nCell :" + mobiles + ", \n " + web + " , " + emailBox, smfont));
                document.Add(Header);
            }
            else
            {
                Header.Add(new Chunk("It is Your Institute Name", hedingfont));
                Header.Add(new Chunk("\nSomething Address text will visible here", smfont));
                Header.Add(new Chunk("\nCell : -9087948059830, \n Web: N/A, Email: N/A ", smfont));
                document.Add(Header);
            }

            DottedLineSeparator separator = new DottedLineSeparator();

            separator.LineWidth = 1f;
            Chunk linebreak = new Chunk(separator);

            document.Add(linebreak);


            string    customerName = customerNameBox.Text.Trim();
            string    address      = addressTextBox.Text.Trim();
            string    mobile       = mnumberBox.Text.Trim();
            Paragraph csdata       = new Paragraph();

            csdata.Alignment = Element.ALIGN_LEFT;
            csdata.Add(new Chunk("Customer Name : " + customerName + "\nAddress : " + address + "\nMabile Number : " + mobile + "\n Date : " + DateTime.Now.ToString("dd/MM/yyyy"), smfont));
            document.Add(csdata);
            DottedLineSeparator separator2 = new DottedLineSeparator();

            separator2.LineWidth = 1f;
            Chunk linebreak2 = new Chunk(separator2);

            document.Add(linebreak2);



            //Write the table
            float[]   columnWidths = { 1.5f, 7f, 2.2f, 4f };
            PdfPTable ItemsRecord  = new PdfPTable(columnWidths);

            ItemsRecord.DefaultCell.Column.Alignment = Element.ALIGN_CENTER;
            ItemsRecord.WidthPercentage           = 100;
            ItemsRecord.DefaultCell.PaddingBottom = 4f;
            ItemsRecord.AddCell(new Phrase("Sl", thfont));
            ItemsRecord.AddCell(new Phrase("Product  Description", thfont));
            ItemsRecord.AddCell(new Phrase("Quantity", thfont));
            ItemsRecord.AddCell(new Phrase("Net Price", thfont));
            //table Data
            var totalQuantity = listofStockOut.Sum(x => x.Quantity);
            var totalamount   = listofStockOut.Sum(x => x.Price).ToString(CultureInfo.CreateSpecificCulture("bn-BD"));
            int ci            = 0;
            int lc            = listofStockOut.Count;

            foreach (var items in listofStockOut)
            {
                if (ci <= lc)
                {
                    ci++;
                }
                ItemsRecord.AddCell(new Phrase(ci.ToString(), tdfont));
                ItemsRecord.AddCell(new Phrase(items.CatagoryName + " : " + items.ItemName + " Sl/Mo:" + items.Model, tdfont));
                ItemsRecord.AddCell(new Phrase(items.Quantity.ToString(), tdfont));
                ItemsRecord.AddCell(new Phrase(items.Price.ToString(), tdfont));
            }
            PdfPCell cell = new PdfPCell(new Phrase("Total :  ", tdfont));

            cell.HorizontalAlignment = Element.ALIGN_RIGHT;
            cell.Colspan             = 2;
            ItemsRecord.AddCell(cell);
            ItemsRecord.AddCell(new Phrase(totalQuantity.ToString(), tdfont));
            ItemsRecord.AddCell(new Phrase(totalamount, tdfont));
            document.Add(ItemsRecord);
            document.Add(new Chunk("\n\n\n"));



            //Author
            Paragraph prgAuthor = new Paragraph();

            prgAuthor.Alignment       = Element.ALIGN_CENTER;
            prgAuthor.IndentationLeft = 250f;
            prgAuthor.Add(new Chunk("Received by", signfont));
            prgAuthor.Add(new Chunk("\n" + DateTime.Now.ToString("dd/MM/yyyy"), signfont));
            document.Add(prgAuthor);
            document.Add(new Chunk("\n\n\n"));
            DottedLineSeparator separator4 = new DottedLineSeparator();

            separator4.LineWidth = 1f;
            Chunk linebreak4 = new Chunk(separator4);

            document.Add(linebreak4);

            document.Add(new Chunk("\nN:B: \n"));

            DottedLineSeparator separator5 = new DottedLineSeparator();

            separator5.LineWidth = 1f;
            Chunk linebreak5 = new Chunk(separator5);

            document.Add(linebreak5);

            document.Add(new Chunk("\n"));
            document.Close();
            create.Close();
            System.Diagnostics.Process.Start(filePath + ".pdf");
        }
        public async Task <IActionResult> solicitudesmantenimientopdf()
        {
            Document doc = new Document(PageSize.Letter);

            doc.SetMargins(40f, 40f, 40f, 40f);
            MemoryStream ms     = new MemoryStream();
            PdfWriter    writer = PdfWriter.GetInstance(doc, ms);

            //Instanciamos la clase para el paginado y la fecha de impresión
            var pe = new PageEventHelper();

            writer.PageEvent = pe;

            doc.AddAuthor("Asgard");
            doc.AddTitle("Reporte solicitudes de mantenimiento");
            doc.Open();

            //Inicia cuerpo del reporte

            //Estilo y fuente personalizada
            BaseFont fuente = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo = new iTextSharp.text.Font(fuente, 12f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente2 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo2 = new iTextSharp.text.Font(fuente2, 11f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente3  = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo3 = new iTextSharp.text.Font(fuente3, 15f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));
            BaseFont             fuente4  = BaseFont.CreateFont(BaseFont.COURIER, BaseFont.CP1250, true);

            iTextSharp.text.Font parrafo4 = new iTextSharp.text.Font(fuente4, 11f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));

            //Para las celdas
            BaseFont fuente5 = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, true);

            iTextSharp.text.Font parrafo5 = new iTextSharp.text.Font(fuente5, 10f, iTextSharp.text.Font.NORMAL, new BaseColor(0, 0, 0));


            //Encabezado
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                CooperativaAF oCooperativaAF = new CooperativaAF();
                Cooperativa   oCooperativa   = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;
                oCooperativaAF.nombre        = oCooperativa.Nombre;
                oCooperativaAF.descripcion   = oCooperativa.Descripcion;

                //Se agrega el encabezado
                var tbl1 = new PdfPTable(new float[] { 11f, 89f })
                {
                    WidthPercentage = 100f
                };
                tbl1.AddCell(new PdfPCell(new Phrase(" ", parrafo2))
                {
                    Border = 0, Rowspan = 2
                });
                tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Descripcion.ToUpper(), parrafo2))
                {
                    Border = 0, HorizontalAlignment = 1
                });
                tbl1.AddCell(new PdfPCell(new Phrase(oCooperativa.Nombre.ToUpper(), parrafo3))
                {
                    Border = 0, HorizontalAlignment = 1
                });
                doc.Add(tbl1);
                doc.Add(new Phrase("\n"));
            }
            doc.Add(new Phrase("\n"));
            //Línea separadora
            Chunk linea = new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(1f, 100f, BaseColor.Black, Element.ALIGN_CENTER, 1f));

            doc.Add(linea);
            doc.Add(new Paragraph("REPORTE DE SOLICITUDES DE MANTENIMIENTO", parrafo)
            {
                Alignment = Element.ALIGN_CENTER
            });

            //Espacio en blanco
            doc.Add(Chunk.Newline);

            //Agregamos una tabla
            var tbl = new PdfPTable(new float[] { 25f, 30f, 50f })
            {
                WidthPercentage = 100f
            };
            var c1 = new PdfPCell(new Phrase("FOLIO", parrafo2));
            var c2 = new PdfPCell(new Phrase("FECHA DE SOLICITUD", parrafo2));
            var c3 = new PdfPCell(new Phrase("DESCRIPCIÓN", parrafo2));

            //Agregamos a la tabla las celdas
            tbl.AddCell(c1);
            tbl.AddCell(c2);
            tbl.AddCell(c3);

            //Extraemos de la base y llenamos las celdas
            using (BDAcaassAFContext bd = new BDAcaassAFContext())
            {
                IEnumerable <SolicitudMantenimientoPAF> lista = (from solicitud in bd.SolicitudMantenimiento
                                                                 where solicitud.Estado == 1

                                                                 select new SolicitudMantenimientoPAF
                {
                    idsolicitud = solicitud.IdSolicitud,
                    folio = solicitud.Folio,
                    descripcion = solicitud.Descripcion,
                    fechacadena = solicitud.Fecha == null ? " " : ((DateTime)solicitud.Fecha).ToString("dd-MM-yyyy")
                }).ToList();
                foreach (var solicitudmante in lista)
                {
                    c1.Phrase = new Phrase(solicitudmante.folio, parrafo5);
                    c2.Phrase = new Phrase(solicitudmante.fechacadena, parrafo5);
                    c3.Phrase = new Phrase(solicitudmante.descripcion, parrafo5);



                    //Agregamos a la tabla
                    tbl.AddCell(c1);
                    tbl.AddCell(c2);
                    tbl.AddCell(c3);
                }

                //INICIO DE ADICIÓN DE LOGO
                CooperativaAF oCooperativaAF = new CooperativaAF();

                Cooperativa oCooperativa = bd.Cooperativa.Where(p => p.Dhabilitado == 1).First();
                oCooperativaAF.idcooperativa = oCooperativa.IdCooperativa;


                try
                {
                    iTextSharp.text.Image logo = null;
                    logo             = iTextSharp.text.Image.GetInstance(oCooperativa.Logo.ToString());
                    logo.Alignment   = iTextSharp.text.Image.ALIGN_LEFT;
                    logo.Border      = iTextSharp.text.Rectangle.NO_BORDER;
                    logo.BorderColor = iTextSharp.text.BaseColor.White;
                    logo.ScaleToFit(170f, 100f);

                    float ancho      = logo.Width;
                    float alto       = logo.Height;
                    float proporcion = alto / ancho;

                    logo.ScaleAbsoluteWidth(80);
                    logo.ScaleAbsoluteHeight(80 * proporcion);

                    logo.SetAbsolutePosition(40f, 695f);

                    doc.Add(logo);
                }
                catch (DocumentException dex)
                {
                    //log exception here
                }

                //FIN DE ADICIÓN DE LOGO
            }
            doc.Add(tbl);
            writer.Close();
            doc.Close();
            ms.Seek(0, SeekOrigin.Begin);
            return(File(ms, "application/pdf"));
        }