tags:

views:

330

answers:

2

Hello everyone,

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  A: 

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

Rubens Farias
A: 

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.)

Sasikumar D.R.