【问题标题】:How do I align a table in the section area with PDFsharp or MigraDoc?如何将分区区域中的表格与 PDFsharp 或 MigraDoc 对齐?
【发布时间】:2014-05-05 15:09:40
【问题描述】:

如何在分区区域对齐表格?

MigraDoc.DocumentObjectModel.Tables.Table tFirma = section.Footers.Primary.AddTable();
MigraDoc.DocumentObjectModel.Tables.Column cFirma = tFirma.AddColumn(MigraDoc.DocumentObjectModel.Unit.FromCentimeter(3));//Tamaño de la coluna
MigraDoc.DocumentObjectModel.Tables.Row rFirma = tFirma.AddRow();
rFirma.Cells[0].Format.Alignment = MigraDoc.DocumentObjectModel.ParagraphAlignment.Center;
rFirma.Cells[0].AddParagraph("Employee Signature");

【问题讨论】:

  • 据我所知,你不知道。直到您为绘图类和对齐等编写自己的包装器。但是自从我弄乱 PDF 以来已经有很长时间了,所以从那时起可能已经改变了。
  • @Bjarke Søgaard:也许你很久以前在处理 PDF 时没有使用 MigraDoc。我认为这是可以做到的。但我不确定是否需要水平或垂直对齐。

标签: c# asp.net pdfsharp migradoc


【解决方案1】:

您可以设置tFirma.Rows.LeftIndent 使表格水平缩进。

【讨论】:

  • MigraDoc 是一个很好的库:) 有没有直接的方法来对齐右/中心?
  • @John JB:你必须做一些简单的数学运算:取页体的宽度(没有页边距),减去表格的宽度,这是右对齐的缩进。除以 2 居中对齐。
  • 我尝试获取表格宽度但它返回零(我可能使用了错误的属性)。我没有明确设置单个列宽。截至目前,我正在使用 page width * 0.60 即 60% 的页面作为左缩进。但更准确的计算值得赞赏。
  • @John JB:表格的宽度是列宽的总和。我不知道默认的列宽是,我总是明确设置它。我建议明确设置列宽并将宽度相加。这将为您提供计算左缩进所需的一切。
  • 感谢您的快速回复。我已经根据百分比将列宽设置为计算宽度。现在看起来不错。我希望将来将这些增强功能作为库本身的一部分。非常感谢您的努力。
【解决方案2】:

要将表格居中放在部分的中心,请使用以下行:

table.Rows.Alignment = RowAlignment.Center;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多