【问题标题】:How to give margin left to table in itextsharp如何在itextsharp中将边距留给表格
【发布时间】:2016-01-12 22:45:30
【问题描述】:

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

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

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

outerTable.SpacingBefore = 20f;

没用 然后我试图给我的单元格留下填充它也没有用..

outerCell.PaddingLeft = 20f;

现在我的桌子被粘在左侧了..我该如何移动它们?如果您已尝试在 itextsharp 中移动表格,请提供帮助...

请检查附加屏幕以供参考

【问题讨论】:

    标签: c# itextsharp pdfptable


    【解决方案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();
        }
    }
    

    【讨论】:

    • CellLayout 在页面上放置一个单元格后调用,以允许您仍然执行一些操作,例如绘制边框或着色背景。位置已经确定:传递的Rectangle 包含坐标。所以你不能以这种方式调整边距。也许您在左边框上的偏移量会给人留下左边距的视觉印象,但要小心单元格内容。如果单元格内容增加,您可能会在内容中绘制左边框。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-29
      • 1970-01-01
      • 2013-08-01
      • 2014-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多