C# MigraDoc 边距大小不正确?
C# MigraDoc margins incorrect size?
左边距和顶部边距不是 7 毫米。为什么?
Document document = new Document();
Section sec = document.AddSection();
sec.PageSetup.PageWidth = Unit.FromMillimeter(210);
sec.PageSetup.PageHeight = Unit.FromMillimeter(297);
sec.PageSetup.LeftMargin = Unit.FromMillimeter(7);
sec.PageSetup.TopMargin = Unit.FromMillimeter(7);
sec.PageSetup.RightMargin = Unit.FromMillimeter(7);
sec.PageSetup.BottomMargin = Unit.FromMillimeter(7);
Table table = sec.AddTable();
table.AddColumn(Unit.FromMillimeter(196));
Row row = table.AddRow();
row.HeightRule = RowHeightRule.Exactly;
row.Height = Unit.FromPoint(70);
row.Cells[0].AddParagraph("TABLE TEXT");
Color blackColor = new Color(0, 0, 0);
row.Shading.Color = blackColor;
在结果 PDF 中,左边距为 5.95 毫米,上边距为 6.86 毫米。
您应该将 table.Rows.LeftIndent
设置为 0。这将增加左边距。
默认情况下,table 中的文本恰好为 7 毫米(在您的情况下)- 因此,如果您从 table 的边缘开始测量,左边距会稍微小一些。
将 table.Rows.LeftIndent
设置为 0 将使 table 的边缘变为 7 毫米。
也许您必须将 table 边框的宽度设置为 0 才能得到恰好 7 毫米。边框是在两边绘制的,所以边框宽度的一半将从上边距和左边距中减去。
左边距和顶部边距不是 7 毫米。为什么?
Document document = new Document();
Section sec = document.AddSection();
sec.PageSetup.PageWidth = Unit.FromMillimeter(210);
sec.PageSetup.PageHeight = Unit.FromMillimeter(297);
sec.PageSetup.LeftMargin = Unit.FromMillimeter(7);
sec.PageSetup.TopMargin = Unit.FromMillimeter(7);
sec.PageSetup.RightMargin = Unit.FromMillimeter(7);
sec.PageSetup.BottomMargin = Unit.FromMillimeter(7);
Table table = sec.AddTable();
table.AddColumn(Unit.FromMillimeter(196));
Row row = table.AddRow();
row.HeightRule = RowHeightRule.Exactly;
row.Height = Unit.FromPoint(70);
row.Cells[0].AddParagraph("TABLE TEXT");
Color blackColor = new Color(0, 0, 0);
row.Shading.Color = blackColor;
在结果 PDF 中,左边距为 5.95 毫米,上边距为 6.86 毫米。
您应该将 table.Rows.LeftIndent
设置为 0。这将增加左边距。
默认情况下,table 中的文本恰好为 7 毫米(在您的情况下)- 因此,如果您从 table 的边缘开始测量,左边距会稍微小一些。
将 table.Rows.LeftIndent
设置为 0 将使 table 的边缘变为 7 毫米。
也许您必须将 table 边框的宽度设置为 0 才能得到恰好 7 毫米。边框是在两边绘制的,所以边框宽度的一半将从上边距和左边距中减去。