【问题标题】:How to create / set custom color of table cells and borders in iText 7?如何在 iText 7 中创建/设置表格单元格和边框的自定义颜色?
【发布时间】:2018-04-12 18:37:44
【问题描述】:

我需要创建一个包含自定义彩色单元格和边框的表格。 Color 类中定义了一些常量,但我需要自定义颜色。我需要#a6cb0b 作为带有颜色代码#cccccc 的标题和边框线的背景颜色。如何设置它们?

Table table = new Table(new float[]{1,1,1});
Cell cell = new Cell();
cell.add(new Paragraph("TITLE"));
cell.setBackgroundColor(Color.???);
table.addCell(cell);
...
...

【问题讨论】:

    标签: java pdf itext7


    【解决方案1】:

    了解如何创建颜色的最佳方法是查看API docs。当您转到描述'Color' 类的页面时,您会看到它有几个子类:

    您似乎想创建一个RGB颜色,因此您需要DeviceRgb

    Color headerBg = new DeviceRgb(0xA6, 0xCB, 0x0B);
    Color lineColor = new DeviceRgb(0xCC, 0xCC, 0xCC);
    

    您可以使用color 对象来设置边框、背景等的颜色...

    【讨论】:

    • 我确实阅读了“颜色”类的 API 文档,但我无法弄清楚我需要将颜色值传递给 DeviceRgb 的方式。无论如何,谢谢@BrunoLowagie。
    • 我是 iText 的新手,所以这可能是一个非常简单的问题。 cell 类有一个setBackground() 函数,可用于设置背景颜色。但是如何将单元格的边框设置为lineColor?我试过cell.setBorder(new Border().setColor(lineColor));。 @BrunoLowagie
    • 您不能创建Border 实例,对吗?您需要创建一个特定的边框,例如SolidBorderDottedBorder。您可能还想指定宽度,例如new SolidBorder(lineColor, 3)
    • 再次感谢。 @BrunoLowagie
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    相关资源
    最近更新 更多