如何在PDFsharp中将表格大小调整为页面宽度?

jst*_*rdo 13 c# pdfsharp migradoc

我试图自动调整表格的大小到页面的整个宽度.该表应该有2列,每列50%.

我怎样才能做到这一点?我没有运气就尝试了LeftIndent和RightIndent属性.

Kid*_*ick 22

这是一种避免硬编码宽度并允许更灵活的纸张格式的方法.确保using MigraDoc.DocumentObjectModel;在您的班级中包含该陈述.

Document document = new Document();

Section section = document.AddSection();
section.PageSetup.PageFormat = PageFormat.A4;

Table table = section.AddTable();

float sectionWidth = section.PageSetup.PageWidth - section.PageSetup.LeftMargin - section.PageSetup.RightMargin;
float columnWidth = sectionWidth / 2;

Column column = table.AddColumn();
column.Width = columnWidth;
Column column2 = table.AddColumn();
column2.Width = columnWidth;

Row row = table.AddRow();
row.Cells[0].AddParagraph("Row 1, Column A");
row.Cells[1].AddParagraph("Row 1, Column B");
Run Code Online (Sandbox Code Playgroud)

  • 应该注意的是,这只适用于先前分配的`PageSetup.PageWidth`,`PageSetup.LeftMargin`和`PageSetup.RightMargin`.如果要使用`PageSetup`的默认值,请将`DefaultPageSetup.Clone()`赋给该节的`PageSetup`. (8认同)

Je *_*not 2

您不能在 MigraDoc 中使用百分比值。
您可以设置每列的绝对宽度。

因此,当使用每侧边距为 2.5 厘米的 DIN A4 时,桌子还剩下 16 厘米,因此您必须创建两列,每列 8 厘米。

您可以设置表格的左缩进以水平移动表格。