3

我已经使用 open XML 成功生成了一个 word 文档文件,但是我有太多的空白页,我该如何删除它们?

4

1 回答 1

1

这取决于这些空白页在 Open XML 中的表示方式;您可能想发布一个示例文档来准确演示您的空白页是如何表示的。

但是,让我们以 Word 文档为例,其中用户插入了额外的分页符(通过在 Word 中按 ctrl-enter),导致出现空白页。这些分页符将在 XML 中表示为:

<w:br w:type="page"/>  

页面中仍然会有很多用于间距、字体等的标签;页面也可能显示页眉和页脚。但是让我们将空白页定义为没有新段落文本的空白页。在 Open XML 中,新文本使用 aw:t 标记显示。

因此,为了删除由额外分页符创建的空白页面,中间没有文本,我们可以在 XML 文档上运行以下正则表达式,替换为空白 (""):

<w:br w:type="page"/>(.(?!<w:t>))*(?=<w:br w:type="page"/>)

此正则表达式将搜索一系列两个或多个分页符,中间没有新文本,删除除最后一个之外的所有分页符。

(请注意,这不会处理文档末尾的空白页,这有点棘手。此外,如果您想考虑包含图像、文本框等的页面,则必须使用正则表达式扩大到包括相关项目)。

于 2012-09-06T18:27:12.177 回答