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); } }
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")); }
/// <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); }
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"); }