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(); }
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(); }