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

发布于 2024-08-12 00:49:51 字数 354 浏览 6 评论 0原文

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

我的导出功能工作正常,除了我需要增加页面大小才能正确显示它。 (否则自动换行将成为问题并且报告看起来不太好)。

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

我还需要在Word文档中对齐的另一个帮助。帖子链接是 使用 OpenXml Sdk 在 Word 中进行水平文本对齐2.0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏末的微笑 2024-08-19 00:49:51

嗯..终于找到答案了..我将发布用于设置页面大小的 C# 代码。

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文档)。

这里唯一的问题是像素和缇之间的转换。(我的测量单位是像素)嗯,我必须为此做一些其他的事情..
(我使用试错法发现了一个乘法因子 10,该方法应该与以像素为单位的测量一起使用以转换为缇。不知道这是正确的。但对我来说效果很好。)

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

や三分注定 2024-08-19 00:49:51

您应该使用 PageSize 属性。请注意,您需要使用 作为单位。

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文