【问题标题】:How to change color of a text field in pdfclown?如何更改pdfclown中文本字段的颜色?
【发布时间】:2016-01-02 21:25:11
【问题描述】:

我想填写一份 PDF 表格。我为此使用库 Pdfclow。

我在更改TextField 的颜色时遇到问题。我可以毫无问题地更改字体大小,但不能更改文本的颜色。

我将代码放在我设法在 PDF 表单中设置值的位置:

public void setPDF(String Valor, String aField) {
    Form form = document.getForm();

    for (Field field : form.getFields().values()) {
        if (aField.equals(field.getName())) {
            DefaultStyle style = new DefaultStyle();
            style.setForeColor(DeviceRGBColor.get(Color.red));
            String newValue = Valor;                 
            field.setValue(newValue);                        
            style.apply(field);
        }
    }

}

【问题讨论】:

    标签: java pdf colors pdfclown


    【解决方案1】:

    DefaultStyle 将自身应用于TextField 实例,如下所示:

    ...
    if(isGraphicsVisibile())
    {
        composer.beginLocalState();
        composer.setLineWidth(lineWidth);
        composer.setFillColor(getBackColor());
        composer.setStrokeColor(getForeColor());
        composer.drawRectangle(frame, 5);
        composer.fillStroke();
        composer.end();
    }
    ...
    

    apply(TextField) in DefaultStyle.java

    因此,您可能需要设置

    style.setGraphicsVisibile(true);
    

    在将style 应用到field 之前。

    【讨论】:

    • 谢谢'mkl'。应用您的解决方案已更改文本字段框架的前景而不是文本。不过不管怎样,对于我的应用来说暂时还是够用了。
    • 啊,我明白了。但是,一旦您询问了文本颜色,更多时候是询问文本字段的颜色。我主要想到的是后者……
    • 我又看了一遍代码。据我所知,黑色/默认是硬编码为文本颜色。
    • @XabierFernandez 因此...我的回答解决了您的问题吗?或者还有什么问题吗
    • 您好 mkl,感谢您的回答。可惜不能给你投赞成票,我是新手。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多