Esempio n. 1
0
        private static Cell CreateProfilePicture(PdfDocument pdfDocument)
        {
            var pdfFormXObject = new PdfFormXObject(new Rectangle(100, 100));
            var pdfCanvas      = new PdfCanvas(pdfFormXObject, pdfDocument);

            pdfCanvas.SaveState();

            // Setting color to the circle
            var color = new DeviceRgb(255, 255, 255);

            pdfCanvas.SetColor(color, true);

            // creating a circle
            pdfCanvas.Circle(50, 50, 50);
            pdfCanvas.Fill();

            var rect = new Rectangle(pdfFormXObject.GetWidth() - 100, pdfFormXObject.GetHeight() - 90, 100, 75);

            pdfCanvas.Rectangle(rect);
            pdfCanvas.RestoreState();

            var paragraph = new Paragraph("302\r\nPicture\r\n not available").SetTextAlignment(TextAlignment.CENTER).SetFontColor(ColorConstants.BLACK);

            using (var c = new Canvas(pdfCanvas, pdfDocument, rect, true))
            {
                c.Add(paragraph);
                c.Close();
            }

            var image = new Image(pdfFormXObject).SetHeight(100).SetWidth(100).SetHorizontalAlignment(HorizontalAlignment.CENTER);
            var cell  = new Cell().SetPaddingTop(Spacing).SetPaddingBottom(Spacing).Add(image);

            return(cell);
        }
Esempio n. 2
0
        protected void ManipulatePdf(String dest)
        {
            PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));

            Barcode128 code128 = new Barcode128(pdfDoc);

            code128.SetCode("12345XX789XXX");
            code128.SetCodeType(Barcode128.CODE128);
            PdfFormXObject xObject = code128.CreateFormXObject(ColorConstants.BLACK,
                                                               ColorConstants.BLACK, pdfDoc);

            float x      = 36;
            float y      = 750;
            float width  = xObject.GetWidth();
            float height = xObject.GetHeight();

            // Draw the rectangle with set background color and add the created barcode object.
            PdfCanvas canvas = new PdfCanvas(pdfDoc.AddNewPage());

            canvas.SaveState();
            canvas.SetFillColor(ColorConstants.LIGHT_GRAY);
            canvas.Rectangle(x, y, width, height);
            canvas.Fill();
            canvas.RestoreState();
            canvas.AddXObjectAt(xObject, 36, 750);

            pdfDoc.Close();
        }
Esempio n. 3
0
        /// <exception cref="System.Exception"/>
        private byte[] CreatePdfWithRotatedXObject(String xobjectText)
        {
            MemoryStream baos        = new MemoryStream();
            PdfDocument  pdfDocument = new PdfDocument(new PdfWriter(baos).SetCompressionLevel(0));
            Document     document    = new Document(pdfDocument);

            document.Add(new Paragraph("A"));
            document.Add(new Paragraph("B"));
            PdfFormXObject template = new PdfFormXObject(new Rectangle(20, 100));
            PdfCanvas      canvas   = new PdfCanvas(template, pdfDocument);

            canvas.SetStrokeColor(Color.GREEN).Rectangle(0, 0, template.GetWidth(), template.GetHeight()).Stroke();
            AffineTransform tx = new AffineTransform();

            tx.Translate(0, template.GetHeight());
            tx.Rotate((float)(-90 / 180f * Math.PI));
            canvas.ConcatMatrix(tx).BeginText().SetFontAndSize(PdfFontFactory.CreateFont(FontConstants.HELVETICA), 12)
            .MoveText(0, template.GetWidth() - 12).ShowText(xobjectText).EndText();
            document.Add(new Image(template).SetRotationAngle(Math.PI / 2)).Add(new Paragraph("C"));
            document.Close();
            return(baos.ToArray());
        }
Esempio n. 4
0
        protected void ManipulatePdf(string dest)
        {
            PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
            Document    doc    = new Document(pdfDoc);

            PdfFormXObject formXObject = new PdfFormXObject(new Rectangle(120, 80));

            new PdfCanvas(formXObject, pdfDoc).SetFillColor(ColorConstants.RED)
            .Rectangle(0, 0, formXObject.GetWidth(), formXObject.GetHeight())
            .Fill();

            doc.Add(new Paragraph("Option 1:"));
            Table table = new Table(UnitValue.CreatePercentArray(3)).UseAllAvailableWidth();

            table.AddCell("A rectangle:");
            table.AddCell(new Cell().Add(new Image(formXObject).SetAutoScale(true)).SetPadding(10));
            table.AddCell("The rectangle is scaled to fit inside the cell, you see a padding.");
            doc.Add(table);

            doc.Add(new Paragraph("Option 2:"));
            table = new Table(UnitValue.CreatePercentArray(3)).UseAllAvailableWidth();
            table.AddCell("A rectangle:");
            Cell cell = new Cell().Add(new Image(formXObject));

            table.AddCell(cell);
            table.AddCell("The rectangle keeps its original size, but can overlap other cells in the same row.");
            doc.Add(table);

            doc.Add(new Paragraph("Option 3:"));
            table = new Table(UnitValue.CreatePercentArray(3)).UseAllAvailableWidth();
            table.AddCell("A rectangle:");
            cell = new Cell().Add(new Image(formXObject).SetAutoScale(true));
            table.AddCell(cell);
            table.AddCell("The rectangle is scaled to fit inside the cell, no padding.");
            doc.Add(table);

            doc.Close();
        }
        /// <exception cref="System.Exception"/>
        internal virtual byte[] CreatePdfWithXObject(String xobjectText)
        {
            MemoryStream byteStream  = new MemoryStream();
            PdfDocument  pdfDocument = new PdfDocument(new PdfWriter(byteStream).SetCompressionLevel(0));
            Document     document    = new Document(pdfDocument);

            document.Add(new Paragraph("A"));
            document.Add(new Paragraph("B"));
            PdfFormXObject template = new PdfFormXObject(new Rectangle(100, 100));

            new PdfCanvas(template, pdfDocument).BeginText().SetFontAndSize(PdfFontFactory.CreateFont(StandardFonts.HELVETICA
                                                                                                      ), 12).MoveText(5, template.GetHeight() - 5).ShowText(xobjectText).EndText();
            document.Add(new Image(template));
            document.Add(new Paragraph("C"));
            document.Close();
            return(byteStream.ToArray());
        }