java - 使用xml解析查找word文档中的隐式分页符

标签 java xml-parsing openxml openxml-sdk

我需要提取word文档的第一页内容。如果我查看 wordML 文档的 openxml,我可以看到类似以下内容: <w:lastRenderedPageBreak /> 或者看起来<w:br w:type="page" /> <w:br w:type="page" />当用户输入硬分页符时发生。 我不明白在所有情况下<w:lastRenderedPageBreak />发生。它发生在某些隐式分页符情况下,但不是全部。 例如:我输入了一些文本,然后按了几次 Enter 键,光标转到下一页,如果我仍然在新页面中按了几次 Enter 键,这就是我得到的内容

    **DOCUMENT.XML**
- <w:p w:rsidR="00266B4A" w:rsidRDefault="00266B4A" w:rsidP="00266B4A">
-   <w:r>
      <w:t xml:space="preserve">All my fun TEXT.</w:t>
</w:r>
</w:p>
  <w:p w:rsidR="0061403F" w:rsidRDefault="0061403F" w:rsidP="00266B4A" />
  <w:p w:rsidR="00266B4A" w:rsidRDefault="00266B4A" w:rsidP="00266B4A" />
  <w:p w:rsidR="00266B4A" w:rsidRDefault="00266B4A" w:rsidP="00266B4A" />
  <w:p w:rsidR="00266B4A" w:rsidRDefault="00266B4A" w:rsidP="00266B4A" />
  <w:p w:rsidR="00266B4A" w:rsidRDefault="00266B4A" w:rsidP="00266B4A" />
  <w:p w:rsidR="00266B4A" w:rsidRDefault="00266B4A" w:rsidP="00266B4A" />   <-{page break}
  <w:p w:rsidR="00266B4A" w:rsidRDefault="00266B4A" w:rsidP="00266B4A" />
  <w:p w:rsidR="00266B4A" w:rsidRDefault="00266B4A" w:rsidP="00266B4A" />
  <w:p w:rsidR="00266B4A" w:rsidRDefault="00266B4A" w:rsidP="00266B4A" />
- <w:p w:rsidR="00266B4A" w:rsidRDefault="00266B4A" w:rsidP="00266B4A">
-     <w:r>
         <w:t xml:space="preserve">All my fun TEXT.</w:t>
  </w:r>
</w:p>

正如您所看到的,即使当我输入 Enter 时光标转到下一页,在提取的 Word 文档文件夹中的 document.xml 文件中也没有任何关于此 Activity 的线索。 有人可以帮我找到word文档中的隐式分页符,以便我可以提取文档第一页的内容吗? 如果无法检测 openxml 中的特定页面内容,pdf 转换工具如何将每个 word 文档页面转换为 pdf 页面?

请不要建议使用像 POI 这样的 API,因为它们没有提供提取特定页面内容的功能。 编辑:查找隐式分页符的原因是因为我的任务涉及提取 Word 文档中的封面图像。我遵循的启发式是“如果文档的第一页仅包含图像,则它是封面图像,否则存在没有封面图片”。所以我需要单独获取第一页的内容并检查它是否只有图像。我该怎么做?

最佳答案

简单的回答是,通过检查 XML 不可能完成您想要的操作。 Word(或 PDF 转换器)的页面渲染引擎决定分页位置。 XML 简单地描述了渲染引擎要“流动”的内容。

关于java - 使用xml解析查找word文档中的隐式分页符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24720972/

相关文章:

java - 如何从 JColorChooser 获取颜色 Pane 并在我自己的窗口中使用它?

php - 如何在php中解析soap xml响应并从字符串中获取信息

php - 将 JSON 字符串或数组转换为 Excel 文件?

c# - 生成 Open XML Word 文档后自动更新公式字段

excel - Excel OpenXML 中的命名范围

java - 无法从数字单元格获取字符串值?

java - 无法从 Vert.x MQTT 服务器接收消息

java - woodstox 跳过部分 xml

java - 在 netbeans 中清理和构建后从 dist 文件夹运行 jar 文件时不读取 xml 文件

java - 在做 Android 教程时 R.java 没有生成?