Esempio n. 1
0
        private void ManipulatePdf(String dest)
        {
            PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
            Document    doc    = new Document(pdfDoc);

            ImageData img   = ImageDataFactory.Create(IMG);
            Image     image = new Image(img);

            PdfPattern.Tiling imgPattern = new PdfPattern.Tiling(image.GetImageScaledWidth(),
                                                                 image.GetImageScaledHeight());

            PdfPatternCanvas canvas = new PdfPatternCanvas(imgPattern, pdfDoc);

            canvas.AddImageAt(img, 0, 0, false);

            Color color = new PatternColor(imgPattern);

            Table table = new Table(UnitValue.CreatePercentArray(2)).UseAllAvailableWidth();

            table.AddCell(new Cell().Add(new Paragraph("Behold a cell with an image pattern:")));

            Cell cell = new Cell();

            cell.SetHeight(60);
            cell.SetBackgroundColor(color);
            table.AddCell(cell);

            doc.Add(table);

            doc.Close();
        }
Esempio n. 2
0
            public override void Draw(DrawContext drawContext)
            {
                PdfPattern.Tiling imgPattern = new PdfPattern.Tiling(img.GetWidth(), img.GetHeight(),
                                                                     img.GetWidth(), img.GetHeight());

                PdfPatternCanvas patternCanvas = new PdfPatternCanvas(imgPattern, drawContext.GetDocument());

                patternCanvas.AddImageAt(img, 0, 0, false);

                PdfCanvas canvas = drawContext.GetCanvas();

                canvas.SaveState();

                ColorRectangle(canvas, new PatternColor(imgPattern), GetOccupiedAreaBBox().GetX(),
                               GetOccupiedAreaBBox().GetY(), GetOccupiedAreaBBox().GetWidth(), GetOccupiedAreaBBox().GetHeight());

                canvas.SetFillColor(new PatternColor(imgPattern));
                canvas.Stroke();

                canvas.RestoreState();
            }