Android 为什么此pageEvent使用iText库覆盖页面内容?

Android 为什么此pageEvent使用iText库覆盖页面内容?,android,events,pdf,itext,Android,Events,Pdf,Itext,有一个带有边框线的PageEvent也为整个页面应用背景色,但当此PageEvent应用“createPDF”隐藏的内容时 如果我删除 矩形收进底色(新底色(234,0)) 块将是可见的。此外,我还尝试了以下背景事件: public class Background extends PdfPageEventHelper { @Override public void onEndPage(PdfWriter writer, Document document) {

有一个带有边框线的PageEvent也为整个页面应用背景色,但当此PageEvent应用“createPDF”隐藏的内容时

如果我删除 矩形收进底色(新底色(234,0))

块将是可见的。此外,我还尝试了以下背景事件:

public class Background extends PdfPageEventHelper {
    @Override
    public void onEndPage(PdfWriter writer, Document document) {
        PdfContentByte canvas = writer.getDirectContent();
        Rectangle rect = document.getPageSize();
        rect.setBackgroundColor(new BaseColor(234,234,234,0));
        canvas.rectangle(rect);
    }
}

    Background event = new Background();
    writer.setPageEvent(event);
在createPdf方法中,但应用程序无法生成任何PDF文件

如果你链接我如何拥有多个页面事件,如水印、听者页脚、背景等,我将不胜感激。我尝试了其中一些,但我认为它们相互覆盖


谢谢。

矩形覆盖了内容,因为您是这样编程的

如果要在现有内容下添加不透明矩形,请替换:

PdfContentByte canvas = writer.getDirectContent();
与:

PdfContentByte canvas = writer.getDirectContent();
PdfContentByte canvas = writer.getDirectContentUnder();