使用itext pdf在pdf上缺少彩色区域

时间:2018-05-01 17:51:38

标签: java pdf itext

enter image description here

我正在使用itext pdf编辑现有的pdf。执行此操作时,只有一部分矩形框显示为彩色,而某些部分未突出显示。 看起来这里发生了一些重叠问题。

黄色未显示在完整的矩形中。

    PdfContentByte canvas = stamper.getUnderContent(1);
    canvas.saveState();
    canvas.setColorFill(BaseColor.YELLOW);
    canvas.rectangle(36, 786, 66, 16);
    canvas.fill();
    canvas.restoreState();
    stamper.close();

1 个答案:

答案 0 :(得分:2)

要使您的任务正常工作,您不应在现有内容下绘制(因为内容可以简单地覆盖您的标记),而是 over 它。要使原始内容闪耀,您应该使用适当的混合模式:

PdfContentByte canvas = stamper.getOverContent(1);
canvas.saveState();
PdfGState state = new PdfGState();
state.setBlendMode(new PdfName("Multiply"));
canvas.setGState(state);
canvas.setColorFill(BaseColor.YELLOW);
canvas.rectangle(36, 786, 66, 16);
canvas.fill();
canvas.restoreState();
stamper.close();

MarkContent测试)

你没有分享你的PDF,所以我不得不试试我在这里的PDF。使用适当更改的矩形位置和大小代码标记此

Before

看起来像这样:

After