OpenXML:有没有办法查看Word文档是否适合一页?

4

虽然我不确定,但如果我使用C#中的OpenXML SDK打开一个Word文档并添加一些信息,有没有办法让我查看它是否仍适合一页?

如果不适合,我想要在特定项目上减小字体大小,直到适合为止。

如果我知道当前大小与页面大小(包括边距)的关系,我可以编写此算法。


1
我不知道OpenXML SDK中是否已经有这样的功能,但正如你所说,它是可以实现的。对于纯文本来说并不太难;如果涉及到图片和表格,则会更加复杂;而在一般情况下则更为复杂。 - JasonPlutext
没有图像,但这主要是基于表格中项目数量的变量。 - Ingó Vals
1个回答

1

我在另一个网站上看到了这个例子,不知道它是否适用于你的情况,因为它需要使用 Office PIA...

var app = new Word.Application();
var doc = app.Documents.Open("path/to/file");
doc.Repaginate()

var pageNumber = doc.BuiltInDocumentProperties("Number of Pages").Value as int;

谢谢您的输入。不确定PIA代表什么,但似乎您实际上必须运行一个Word应用程序,这是不可以的。我想我必须查看OpenXml命名空间中的“Validate”对象,看看它是否可以做出类似的事情。 - Ingó Vals
1
哦,抱歉。PIA是主要互操作程序集。它们由微软提供,以帮助自动化Office应用程序。我认为这个网站将帮助您浏览Open XML文件并找到页面节点:http://rmanimaran.wordpress.com/2010/08/03/programatically-get-count-pagesslidessheet-in-microsoft-wordpowerpointexcel-2007/。 - Chester Husk
问题在于docProps/app.xml可能是由Microsoft Word生成的,如果我在C#中创建docx,则不会包含它。 - Ingó Vals

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接