有没有办法在添加标题时使用iText中的pdfcanvas设置字体?

Luk*_*ang 0 java pdf itext

我正在使用页面事件在我的pdf中使用iText添加页眉和页脚.页眉需要是不同的颜色,但我不知道如何更改文本的颜色.似乎没有任何函数调用来改变文本颜色,就像段落一样.

@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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*lly 6

PdfCanvas对象有一个setFillColorRgb()方法.

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

将以红色生成标题.