Change Page size of Wor Document using Open Xml SDK 2.0

旧城冷巷雨未停 提交于 2020-01-25 07:55:09

问题


My application needs export custom report to Word document using Open xml Sdk 2.0

My Export function works fine except I need to increase Page size for showing it properly. (else word wrap will be an issue and Report won't look nice).

Can any one suggest me how can I adjust Page size according to width of my report.

I also need another help in alignment in word documet. Link for post is Horizontal Text alignment in Word using OpenXml Sdk 2.0


回答1:


Hmm.. at last found the answer.. I will post C# Code for Setting Page Size.

using Word = DocumentFormat.OpenXml.Wordprocessing;

WordprocessingDocument WordDoc = WordprocessingDocument.Create(SavePath, WordprocessingDocumentType.Document);
MainDocumentPart mainDocument = WordDoc.AddMainDocumentPart();
mainDocument.Document = new Word.Document();
Word.Body body = new Word.Body();

Word.SectionProperties SecPro = new Word.SectionProperties();
Word.PageSize PSize = new Word.PageSize();
PSize.Width = 15000;
PSize.Height = 11000;
SecPro.Append(PSize);
body.Append(SecPro);

body.Append(WordTable);
mainDocument.Document.Append(body);
mainDocument.Document.Save();
WordDoc.Close();

and Rubens thanks for reply. But I knew about PageSize. I was searching for how and where to insert it. I found it using method you specified in another question(By opening Word document using Archive manager).

Only problem here is conversion between pixel and Twips.(My measurements are in pixel) Hmm I have to do something else for that.. (I found a multiplication factor of 10 using try and error method which should be used with measurement in pixel for converting into Twips. Don't know this is correct. But works fine for me.)




回答2:


You should go with PageSize property. Note you'll need to use twips as unit.



来源:https://stackoverflow.com/questions/1795528/change-page-size-of-wor-document-using-open-xml-sdk-2-0

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!