iText 7 添加彩色文本并填充到矩形

问题描述

我正在尝试向矩形添加彩色文本并在矩形中填充颜色,但是 文本似乎在矩形后面,因此即使我可以选择它也不可见。

       Paragraph  = new Paragraph("The quick brown fox");
       PdfCanvas canvas = new PdfCanvas(pdfDoc.addNewPage());
       Rectangle rect = new Rectangle(ps.getWidth() - 90,ps.getHeight() - 100,50,50);
       new Canvas(canvas,pdfDoc,rect)
            .setFontColor(ColorConstants.WHITE)
            .setFontSize(12)
            .add(p);
       canvas.rectangle(rect)
            .setFillColor(ColorConstants.LIGHT_GRAY)
            .fillstroke();

解决方法

您首先绘制文本,然后填充矩形。因此,显然文本结束于矩形后面

切换指令的顺序,首先填充 rect 上的矩形 PdfCanvas canvas,然后将 Paragraph p 添加到 Canvas 上的 canvas.>