如何设置 MigraDoc 的页面大小?
How can set the page size of MigraDoc?
抱歉,我只是 PDFsharp 的初学者。
如何为文档设置 PageSize?比方说A4。如何设置?这是我的代码。谢谢
Document document = new Document();
// Add a section to the document
Section section = document.AddSection();
section.AddParagraph("dddddd");
// Add a section to the document
var table = section.AddTable();
table.AddColumn("8cm");
table.AddColumn("8cm");
var row = table.AddRow();
var paragraph = row.Cells[0].AddParagraph("Left text");
paragraph.AddTab();
paragraph.AddText("Right text");
paragraph.Format.ClearAll();
// TabStop at column width minus inner margins and borders:
paragraph.Format.AddTabStop("27.7cm", TabAlignment.Right);
row.Cells[1].AddParagraph("Second column");
table.Borders.Width = 1;
A4 为默认尺寸。
每个部分都有一个 PageSetup
属性,您可以在其中设置页面大小、页边距等。
var section = document.LastSection;
section.PageSetup.PageFormat = PageFormat.A4;
section.PageSetup.TopMargin = "3cm";
您永远不应该修改 DefaultPageSetup,而是使用 Clone()
。 PageFormat
不适用于 Clone()
,因为 PageWidth
和 PageHeight
设置为默认尺寸 A4。
要获取 Letter 格式,您可以使用此代码覆盖 PageWidth
和 PageHeight
:
var section = document.LastSection;
section.PageSetup = Document.DefaultPageSetup.Clone();
section.PageSetup.PageFormat = PageFormat.Letter; // Has no effect after Clone(), just for documentation purposes.
section.PageSetup.PageWidth = Unit.FromPoint(612);
section.PageSetup.PageHeight = Unit.FromPoint(792);
section.PageSetup.TopMargin = "3cm";
要获取 Letter 格式,您可以使用此代码重置 PageWidth
和 PageHeight
以使 PageFormat
再次工作:
var section = document.LastSection;
section.PageSetup = Document.DefaultPageSetup.Clone();
section.PageSetup.PageWidth = Unit.Empty;
section.PageSetup.PageHeight = Unit.Empty;
section.PageSetup.PageFormat = PageFormat.Letter;
section.PageSetup.TopMargin = "3cm";
创建 Clone()
如果您的代码使用例如用于计算 table 宽度等的左右边距。如果您明确设置所有边距或不使用边距进行计算,则无需创建克隆。
如果您需要 Clone()
,您可以使用此处显示的方法设置页面大小。
抱歉,我只是 PDFsharp 的初学者。
如何为文档设置 PageSize?比方说A4。如何设置?这是我的代码。谢谢
Document document = new Document();
// Add a section to the document
Section section = document.AddSection();
section.AddParagraph("dddddd");
// Add a section to the document
var table = section.AddTable();
table.AddColumn("8cm");
table.AddColumn("8cm");
var row = table.AddRow();
var paragraph = row.Cells[0].AddParagraph("Left text");
paragraph.AddTab();
paragraph.AddText("Right text");
paragraph.Format.ClearAll();
// TabStop at column width minus inner margins and borders:
paragraph.Format.AddTabStop("27.7cm", TabAlignment.Right);
row.Cells[1].AddParagraph("Second column");
table.Borders.Width = 1;
A4 为默认尺寸。
每个部分都有一个 PageSetup
属性,您可以在其中设置页面大小、页边距等。
var section = document.LastSection;
section.PageSetup.PageFormat = PageFormat.A4;
section.PageSetup.TopMargin = "3cm";
您永远不应该修改 DefaultPageSetup,而是使用 Clone()
。 PageFormat
不适用于 Clone()
,因为 PageWidth
和 PageHeight
设置为默认尺寸 A4。
要获取 Letter 格式,您可以使用此代码覆盖 PageWidth
和 PageHeight
:
var section = document.LastSection;
section.PageSetup = Document.DefaultPageSetup.Clone();
section.PageSetup.PageFormat = PageFormat.Letter; // Has no effect after Clone(), just for documentation purposes.
section.PageSetup.PageWidth = Unit.FromPoint(612);
section.PageSetup.PageHeight = Unit.FromPoint(792);
section.PageSetup.TopMargin = "3cm";
要获取 Letter 格式,您可以使用此代码重置 PageWidth
和 PageHeight
以使 PageFormat
再次工作:
var section = document.LastSection;
section.PageSetup = Document.DefaultPageSetup.Clone();
section.PageSetup.PageWidth = Unit.Empty;
section.PageSetup.PageHeight = Unit.Empty;
section.PageSetup.PageFormat = PageFormat.Letter;
section.PageSetup.TopMargin = "3cm";
创建 Clone()
如果您的代码使用例如用于计算 table 宽度等的左右边距。如果您明确设置所有边距或不使用边距进行计算,则无需创建克隆。
如果您需要 Clone()
,您可以使用此处显示的方法设置页面大小。