我正在使用页面事件使用iText在pdf文件中添加页眉和页脚。页眉需要使用其他颜色,但是我不确定如何更改文本的颜色。似乎没有任何函数调用都会更改文本颜色,例如段落的样式。

@Override
public void handleEvent(Event event) {
    PdfDocumentEvent docEvent = (PdfDocumentEvent) event;
    if (docEvent.getDocument().getPageNumber(docEvent.getPage()) != 1) {
        try {

            PdfCanvas canvas = new PdfCanvas(docEvent.getPage());
            canvas.beginText();

            canvas.setFontAndSize(PdfFontFactory.createFont(FontConstants.HELVETICA_OBLIQUE), 24);
            canvas.moveText(50, PageSize.A4.getHeight() - 50)
                    .showText("Header")
                    .endText()
                    .release();

        } catch (IOException e) {
            e.printStackTrace();
        } catch (java.io.IOException ex) {
            Logger.getLogger(PDFHeaderPageNumberEvt.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

最佳答案

PdfCanvas对象具有setFillColorRgb()方法。

canvas.moveText(50, PageSize.A4.getHeight() - 50)
                        .setFillColorRgb(255,0,0) // Red
                        .showText("Header")
                        .endText()
                        .release();


将产生红色的标题。

08-26 02:43