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

iText 7 Adding colored text and fill to a rectangle

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

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

您先绘制文本,然后填充矩形。因此,显然文本最终 位于矩形 之后。

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