Java 使用itext pdf的pdf上缺少彩色区域

Java 使用itext pdf的pdf上缺少彩色区域,java,pdf,itext,Java,Pdf,Itext,我正在使用itext pdf编辑现有的pdf。执行此操作时,只有矩形框的一部分显示为彩色,而某些部分未高亮显示。 看起来这里发生了一些重叠问题 黄色没有显示在完整的矩形中 PdfContentByte canvas = stamper.getUnderContent(1); canvas.saveState(); canvas.setColorFill(BaseColor.YELLOW); canvas.rectangle(36, 786, 66, 16);

我正在使用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();

为了让你的任务有效,你不应该在现有内容下画图(这样内容就可以简单地覆盖你的标记),而应该在上面画图。要使原始内容闪耀,应使用适当的混合模式:

PdfContentByte canvas=stamper.getOverContent(1);
canvas.saveState();
PdfGState=新的PdfGState();
state.setBlendMode(新的PdfName(“乘法”));
canvas.setGState(state);
canvas.setColorFill(BaseColor.YELLOW);
画布.矩形(36786,66,16);
canvas.fill();
canvas.restoreState();
压模关闭();
(测试)

您没有共享您的PDF,因此我必须尝试使用我这里的PDF。使用适当更改的矩形位置和大小,代码将对此进行标记

看起来像这样:


为了让你的任务有效,你不应该在现有内容下画图(这样内容就可以简单地覆盖你的标记),而应该在上面画图。要使原始内容闪耀,应使用适当的混合模式:

PdfContentByte canvas=stamper.getOverContent(1);
canvas.saveState();
PdfGState=新的PdfGState();
state.setBlendMode(新的PdfName(“乘法”));
canvas.setGState(state);
canvas.setColorFill(BaseColor.YELLOW);
画布.矩形(36786,66,16);
canvas.fill();
canvas.restoreState();
压模关闭();
(测试)

您没有共享您的PDF,因此我必须尝试使用我这里的PDF。使用适当更改的矩形位置和大小,代码将对此进行标记

看起来像这样:


尝试添加图像…您将矩形添加到
内容下方
,即在包含这两列灰色背景的页面现有内容下方。因此,很明显,“黄色没有显示在完整的矩形中。”@mkl我也尝试过内容过多,但随后我完全覆盖了文本。i、 文本完全消失在黄色后面。Ant如何将其设置为不透明透明度?难道“不透明透明度”在术语上不矛盾吗?也就是说,您确实可以应用透明度,或者更好的是,混合模式变暗或倍增。首先,您对当前灰色区域的期望是什么?结果应该是更灰的黄色还是与当前白色区域相同的黄色?@mkl感谢您的回答。最终目标是用黄色矩形框突出显示pdf上的文本。黄色的颜色框应该从左到右突出显示文本。您可以看到,在尝试此操作的屏幕截图中,中间区域没有与文本一起应用黄色。尝试添加图像时,您将矩形添加到
下内容中,即在包含这两列灰色背景的页面现有内容下。因此,很明显,“黄色没有显示在完整的矩形中。”@mkl我也尝试过内容过多,但随后我完全覆盖了文本。i、 文本完全消失在黄色后面。Ant如何将其设置为不透明透明度?难道“不透明透明度”在术语上不矛盾吗?也就是说,您确实可以应用透明度,或者更好的是,混合模式变暗或倍增。首先,您对当前灰色区域的期望是什么?结果应该是更灰的黄色还是与当前白色区域相同的黄色?@mkl感谢您的回答。最终目标是用黄色矩形框突出显示pdf上的文本。黄色的颜色框应该从左到右突出显示文本。您可以看到,在尝试此操作的屏幕截图中,中间区域没有与文本一起应用黄色。