コード例 #1
0
            public virtual void HandleEvent(Event @event)
            {
                PdfDocumentEvent docEvent = (PdfDocumentEvent)@event;
                PdfDocument      pdfDoc   = docEvent.GetDocument();
                PdfPage          page     = docEvent.GetPage();
                int pageNumber            = pdfDoc.GetPageNumber(page);

                iText.Kernel.Geom.Rectangle pageSize = page.GetPageSize();
                PdfCanvas pdfCanvas        = new PdfCanvas(page.NewContentStreamBefore(), page.GetResources(), pdfDoc);
                double    ancho_encabezado = vendedor_nombre.Length * 3.5;

                //Add header and footer
                pdfCanvas
                .BeginText()
                .SetFontAndSize(PdfFontFactory.CreateFont(StandardFonts.HELVETICA_BOLD), 13)
                .MoveText(pageSize.GetWidth() / 2 - ancho_encabezado, pageSize.GetTop() - 60)
                .ShowText(vendedor_nombre)
                //.MoveText(60, -pageSize.GetTop() + 30)
                //.ShowText(pageNumber.ToString())
                .EndText();

                if (nombre_imagen != "")
                {
                    iText.Layout.Element.Image img = new iText.Layout.Element.Image(ImageDataFactory.Create(nombre_imagen));
                    img.Scale(0.50f, 0.50f);
                    img.SetFixedPosition(0, pageSize.GetTop() - (img.GetImageHeight() / 2));
                    iText.Kernel.Geom.Rectangle area = page.GetPageSize();
                    new Canvas(pdfCanvas, pdfDoc, area)
                    .Add(img);
                }
            }
コード例 #2
0
ファイル: ImageTest.cs プロジェクト: zymemail/itext7-dotnet
        public virtual void ImageTest05()
        {
            String          outFileName = destinationFolder + "imageTest05.pdf";
            String          cmpFileName = sourceFolder + "cmp_imageTest05.pdf";
            PdfWriter       writer      = new PdfWriter(outFileName);
            PdfDocument     pdfDoc      = new PdfDocument(writer);
            Document        doc         = new Document(pdfDoc);
            PdfImageXObject xObject     = new PdfImageXObject(ImageDataFactory.Create(sourceFolder + "Desert.jpg"));

            iText.Layout.Element.Image image = new iText.Layout.Element.Image(xObject, 100);
            doc.Add(new Paragraph(new Text("First Line")));
            Paragraph p = new Paragraph();

            p.Add(image);
            image.Scale(1, 0.5f);
            doc.Add(p);
            doc.Add(new Paragraph(new Text("Second Line")));
            doc.Close();
            NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(outFileName, cmpFileName, destinationFolder
                                                                             , "diff"));
        }
コード例 #3
0
ファイル: PdfWrapper.cs プロジェクト: samedb/InventoryApp
 /// <summary>
 /// Dodaje sliku u pdf, slika je centrirana
 /// </summary>
 /// <param name="slika">Slika koja ce biti dodata u pdf</param>
 /// <param name="scale">Skaliranje velicine slike</param>
 public void DodajSliku(iText.Layout.Element.Image slika, float scale = 1)
 {
     slika.SetHorizontalAlignment(HorizontalAlignment.CENTER);
     slika.Scale(scale, scale);
     document.Add(slika);
 }
コード例 #4
0
        private void btnLeftPrint_Click(object sender, EventArgs e)
        {
            distanceInMm = Math.Round(Distance(golCircle, gorCircle) * mmtoPixelRatio, 2, MidpointRounding.ToEven);
            Console.WriteLine("distance in mm:" + distanceInMm);

            distanceInMmR = Math.Round(Distance(golCircleR, gorCircleR) * mmtoPixelRatioR, 2, MidpointRounding.ToEven);
            Console.WriteLine("distance in mm:" + distanceInMmR);

            msg f2 = new msg();

            f2.ShowDialog();//this way the form1 will hold untill the form 2(msg form ) is closed

            string         savePdfFilePath = "";
            SaveFileDialog sf = new SaveFileDialog();

            sf.InitialDirectory = @"C:\";
            sf.Title            = "Save Pdf in";
            sf.Filter           = "Pdf files (*.pdf)|*.pdf|All files (*.*)|*.*";
            if (sf.ShowDialog() == DialogResult.OK)
            {
                savePdfFilePath = System.IO.Path.GetFullPath(sf.FileName);
            }
            PdfWriter   writer = new PdfWriter(savePdfFilePath);
            PdfDocument pdf    = new PdfDocument(writer);

            float    a4Width  = PageSize.A4.GetWidth();
            float    a4Height = PageSize.A4.GetHeight();
            PageSize pagesize = new PageSize(a4Width, a4Height);

            pdf.SetDefaultPageSize(pagesize);


            Document document = new Document(pdf);



            Pen        p = new Pen(Color.Red);
            SolidBrush b = new SolidBrush(Color.Red);
            //Bitmap bmap = new Bitmap(picBoxLeft.Width, picBoxLeft.Height);

            Bitmap bmap      = new Bitmap(picBoxLeft.Image, picBoxLeft.Width, picBoxLeft.Height);
            Bitmap bmapRight = new Bitmap(picBoxRight.Image, picBoxRight.Width, picBoxRight.Height);


            bmap.MakeTransparent();
            bmapRight.MakeTransparent();

            Graphics g  = Graphics.FromImage(bmap);
            Graphics gr = Graphics.FromImage(bmapRight);

            foreach (Circle item in circleArray)
            {
                if (item != null)
                {
                    g.FillEllipse(b, item._location.X, item._location.Y, item._radius, item._radius);
                    g.DrawString(item._text, new Font(FontFamily.GenericSansSerif, 16, FontStyle.Bold), b, new Point(item._location.X, item._location.Y + item._radius - 70));
                    //g.Dispose();
                }
            }
            foreach (Circle item in circleArrayR)
            {
                if (item != null)
                {
                    gr.FillEllipse(b, item._location.X, item._location.Y, item._radius, item._radius);
                    gr.DrawString(item._text, new Font(FontFamily.GenericSansSerif, 16, FontStyle.Bold), b, new Point(item._location.X, item._location.Y + item._radius - 70));
                    //g.Dispose();
                }
            }



            MemoryStream ms  = new MemoryStream();
            MemoryStream msR = new MemoryStream();

            bmap.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            bmapRight.Save(msR, System.Drawing.Imaging.ImageFormat.Jpeg);

            byte[] buff  = ms.GetBuffer();
            byte[] buffR = msR.GetBuffer();

            Paragraph header = new Paragraph("Created From Facial Mark App")
                               .SetTextAlignment(TextAlignment.CENTER)
                               .SetFontSize(20).SetMarginBottom(5);



            PdfImage img = new PdfImage(iText.IO.Image.ImageDataFactory
                                        .Create(buff)).SetTextAlignment(TextAlignment.LEFT);
            PdfImage imgR = new PdfImage(iText.IO.Image.ImageDataFactory
                                         .Create(buffR)).SetTextAlignment(TextAlignment.RIGHT);

            Table     table = new Table(1).SetTextAlignment(TextAlignment.CENTER);
            Paragraph p1    = new Paragraph();

            img.Scale(0.3f, 0.3f);
            imgR.Scale(0.3f, 0.3f);
            p1.Add(img);
            p1.Add(imgR);

            table.AddCell(p1);

            // Line separator
            LineSeparator ls        = new LineSeparator(new SolidLine()).SetMarginBottom(10);;
            Paragraph     subheader = new Paragraph("Answers")
                                      .SetTextAlignment(TextAlignment.LEFT)
                                      .SetFontSize(15).SetMarginBottom(10);



            Paragraph answerAssym = new Paragraph("Degree of asymmetry:-" + Form1.answerAssym)
                                    .SetTextAlignment(TextAlignment.LEFT)
                                    .SetFontSize(10);

            Paragraph answerSupport = new Paragraph("Degree of undereye support :-" + Form1.answerSupport)
                                      .SetTextAlignment(TextAlignment.LEFT)
                                      .SetFontSize(10);


            //"Distance(Side)" + Math.Round(distanceInMm / 10,2,MidpointRounding.ToEven) + "cm" + "
            Paragraph distancePara = new Paragraph("Distance(Frontal)" + Math.Round(distanceInMmR / 10, 2, MidpointRounding.ToEven) + "cm")
                                     .SetTextAlignment(TextAlignment.LEFT)
                                     .SetFontSize(10);

            Paragraph anglePara = new Paragraph("The angle created by the line from “Tr to Go” and “Go to Gn’”")
                                  .SetTextAlignment(TextAlignment.LEFT)
                                  .SetFontSize(12).SetBold().SetMarginBottom(15);

            if (angleLeft <= 0.0)
            {
                double answer = calculateAngle(circleArray);
                answer    = Math.Round(answer, 2, MidpointRounding.ToEven);
                angleLeft = answer;
            }

            if (angleRight <= 0.0)
            {
                double answer = calculateAngle(circleArrayR);
                answer     = Math.Round(answer, 2, MidpointRounding.ToEven);
                angleRight = answer;
            }
            Paragraph angleParaLeft = new Paragraph("Angle(Side):" + angleLeft + "\u00B0")
                                      .SetTextAlignment(TextAlignment.LEFT)
                                      .SetFontSize(10).SetMarginBottom(10);

            //Paragraph angleParaRight = new Paragraph("Angle(Front):" + angleRight + "\u00B0")
            //   .SetTextAlignment(TextAlignment.LEFT)
            //   .SetFontSize(10).SetMarginBottom(10);

            document.Add(header);
            document.Add(ls);
            document.Add(table);
            document.Add(subheader);
            document.Add(answerAssym);
            document.Add(answerSupport);
            document.Add(distancePara);
            document.Add(anglePara);
            document.Add(angleParaLeft);
            //document.Add(angleParaRight);
            //document.Add(img);
            //document.Add(imgR);
            document.Close();

            MessageBox.Show("Successfully Saved Pdf");
        }