1

我想创建一个包含两个单元格的表格,这些单元格的边框占据角落和中间部分的一半: 在此处输入图像描述

我玩弄虚线但无济于事。如果有人能指出我正确的方向,那就太好了。

4

1 回答 1

1

您需要将单元格的边框设置为NO_BORDER并使用单元格事件来绘制自定义边框。您可以在此处找到一些示例。

PressPreviews为例。它定义了以下单元格事件:

public class MyCellEvent extends PdfPCellEvent {
    public void cellLayout(PdfPCell cell, Rectangle position,
            PdfContentByte[] canvases) {
        float x1 = position.getLeft() + 2;
        float x2 = position.getRight() - 2;
        float y1 = position.getTop() - 2;
        float y2 = position.getBottom() + 2;
        PdfContentByte canvas = canvases[PdfPTable.LINECANVAS];
        canvas.rectangle(x1, y1, x2 - x1, y2 - y1);
        canvas.stroke();
    }
}

现在,如果您这样做cell.setCellEvent(new MyCellEvent());,单元格将有一个自定义边框:一个比您通常使用默认边框的矩形略小的矩形。

在您的情况下,您不需要该rectangle()方法。您不会从位置变量中获取坐标并在一系列moveTo(), lineTo(),stroke()操作中使用这些坐标。

于 2013-06-13T08:12:45.363 回答