使用xml解析來查找Word文檔中的隱式分頁符 [java]


Answers

Question

我需要提取word文檔的第一頁內容。 如果我看一個wordML文檔的openxml,我可以看到如下的東西: <w:lastRenderedPageBreak /> 或者它看起來像<w:br w:type="page" /> <w:br w:type="page" />發生在用戶輸入硬分頁符時。 我不明白什麼情況下<w:lastRenderedPageBreak />發生。 它發生在一些暗示分頁的情況下,但不是全部。 例如:我鍵入了一些文本,然後按下輸入幾次,光標進入下一頁,如果我仍然在新的頁面按幾次進入,這是我得到

    **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>

正如您所看到的,即使光標在我輸入時進入下一頁,在提取的Word文檔文件夾中的document.xml文件中也沒有關於此活動的線索。 有人可以幫助我找到word文檔中的隱式分頁符,以便我可以提取文檔的第一頁的內容? 如果沒有辦法在openxml中檢測特定的頁面內容,pdf轉換工具如何在每個word文檔頁面被轉換為pdf頁面的情況下工作?

請不要建議使用像POI這樣的API,這些API不能提取特定的頁面內容。 編輯:找到隱式分頁符的原因是因為我的任務涉及提取在一個word文檔的封面圖像。我以下的啟發式是“如果文檔的第一頁只包含一個圖像,那麼它是一個封面圖像,否則在那裡是沒有封面的形象“。所以我需要單獨的第一頁的內容,並檢查它是否只有一個形象。我怎麼能做到這一點?