How to change page orientation from c # with open xml sdk

I am creating a text document

using (WordprocessingDocument myDoc = WordprocessingDocument.Create(@"c:\generate\export.docx", WordprocessingDocumentType.Document)) { MainDocumentPart mainPart = myDoc.AddMainDocumentPart(); mainPart.Document = new Document(); var body = new Body(); var p = new Paragraph( new ParagraphProperties( new Justification() { Val = JustificationValues.Center } ), new Run(new Text("test")) ); body.Append(p); mainPart.Document.Append(body); // Save changes to the main document part. mainPart.Document.Save(); } 

How to set landscape orientation to landscape?

+5
source share
1 answer

You need to create new section properties.

 WordprocessingDocument wd = someDoc; wd.MainDocumentPart.Document.Body.Append( new Paragraph( new ParagraphProperties( new SectionProperties( new PageSize() { Width = (UInt32Value)15840U, Height = (UInt32Value)12240U, Orient = PageOrientationValues.Landscape }, new PageMargin() { Top = 720, Right = Convert.ToUInt32(right * 1440.0), Bottom = 360, Left = Convert.ToUInt32(left * 1440.0), Header = (UInt32Value)450U, Footer = (UInt32Value)720U, Gutter = (UInt32Value)0U })))); 

If left == left margin and right == right margin (doubleles).

+8
source

All Articles