很抱歉,我只是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;
答案 0 :(得分:6)
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";
如果您的代码使用例如{p>},那么创建Clone()
非常有用左右边距来计算表格宽度等。如果明确设置所有边距或不使用边距进行计算,则无需创建克隆
如果您需要Clone()
,可以使用此处显示的方法设置页面大小。