如何在itextsharp中给表留下余量

时间:2015-10-14 17:48:20

标签: c# itextsharp pdfptable

我正在使用这些代码...我的表格贴在文档的左侧,因为我没有在文档中给出任何填充...

Document document = new Document(PageSize.A4, 0, 0, 0, 0);

但现在我想给我的桌子留下边距和边距......我用了

outerTable.SpacingBefore = 20f;
它没有工作 然后我试着给我的牢房留下填充它也没有用..

outerCell.PaddingLeft = 20f;

现在我的桌子贴在左侧......我会怎样移动它们?如果你在itextsharp中尝试移动表,请帮助...

请检查附加屏幕以供参考

enter image description here

2 个答案:

答案 0 :(得分:10)

获得带有"左边距的桌子的最简单方法"可能是将表格包装在一个段落中并在该段落上设置左缩进

Paragraph p = new Paragraph();
p.IndentationLeft = 100;
outerTable.HorizontalAlignment = Element.ALIGN_LEFT;
p.Add(outerTable);
document.Add(p);

答案 1 :(得分:-1)

我试图从document.left位置移动表格,但它没有工作,然后我试图在单元格中提供填充,甚至也不起作用....

然后我改变了RoundRectangle类

我在RoundRectangle()函数中更改了**rect.Left + 40f,**这一行,它对我有用.......

public class RoundedBorderLeft : IPdfPCellEvent
{
    public void CellLayout(PdfPCell cell, Rectangle rect, PdfContentByte[] canvas)
    {
        PdfContentByte cb = canvas[PdfPTable.BACKGROUNDCANVAS];
        cb.SetRGBColorStroke(42, 177, 195);
        cb.RoundRectangle(
         **rect.Left + 40f,**
         rect.Bottom + 1.5f,
        rect.Width - 20,
        rect.Height - 3, 4
         );

        cb.Stroke();
    }
}