使用Open Xml SDK 2.0更改Word文档的页面大小

时间:2009-11-25 08:53:19

标签: .net openxml

我的应用程序需要使用Open xml Sdk 2.0将自定义报告导出到Word文档

我的导出功能正常工作,但我需要增加页面大小以正确显示它。 (否则自动换行将成为一个问题,报告看起来不会很好。)

任何人都可以建议我如何根据报告的宽度调整页面大小

我还需要在word documet中找到另一个帮助。帖子的链接是Horizontal Text alignment in Word using OpenXml Sdk 2.0

2 个答案:

答案 0 :(得分:5)

嗯..终于找到了答案..我将发布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();

和鲁本斯谢谢你的回复。但我知道PageSize。我正在寻找插入它的方式和位置。我发现它使用您在另一个问题中指定的方法(通过使用存档管理器打开Word文档)。

这里唯一的问题是像素和缇之间的转换。(我的测量是以像素为单位)嗯我必须为此做点什么.. (我使用try和error方法找到了乘法因子10,它应该与像素中的测量一起用于转换成Twips。不知道这是正确的。但对我来说工作正常。)

答案 1 :(得分:1)

你应该选择PageSize财产。请注意,您需要使用twips作为单位。