Word97/2000格式的DOC文件僅在HWPF的簡單變體中受支持。表格已經很關鍵。如果Word拒絕一個您使用庫創建/修改的文件,那麼您可能運氣不佳。
我前段時間爲一位客戶開發了一個基於Apache HWPF代碼庫的定製庫。該自定義庫增加了對許多功能的支持,並可以可靠地編寫Word文件。把所有這些事情都做好是很多的工作。所以只是修復小事是不可能的。你將不得不花幾個月的時間。
是否可以選擇在Word中創建空行並使用HWPF填充它們?
編輯:可能的功能解決方法:
預先填寫表標記:
+--------+-------------+------------------------------------+
| Rev 1 | 2014-01-01 | Created document |
+--------+-------------+------------------------------------+
| Rev 2 | 2014-01-02 | Corrected flow chart |
+--------+-------------+------------------------------------+
| $REVMRK| $REVDATE## | $REVTEXT########################## |
+--------+-------------+------------------------------------+
| $REVMRK| $REVDATE## | $REVTEXT########################## |
+--------+-------------+------------------------------------+
| $REVMRK| $REVDATE## | $REVTEXT########################## |
+--------+-------------+------------------------------------+
| $REVMRK| $REVDATE## | $REVTEXT########################## |
+--------+-------------+------------------------------------+
確保標記是足夠長的時間。 (在HWPF添加文本,使段落的地址表中更改可能導致故障。)
來一補行做到這一點:
- 找到一組標記一行
- 每個標記必須包括所有後續#-characters
- 準備你的文字來填充在每個標記
- 確保您的文字只使用ASCII字符(見下文)
- 確保您的文字是不長於修訂標記
- 填寫修訂標記與新的內容,並填寫剩餘#-characters用空格
如果軟件沒有找到一個新行,必須有人在Word中添加新行的模板。
原因一些限制:
沒有插入:很多東西都存儲與地址轉換成文本流(大量包含了文本內容地址引用內部多餘的表格)。這適用於段落邊界,字符格式,表格標記,書籤,圖形引用等。HWPF覆蓋了一些內容,很多內容都沒有。如果您插入文本,地址可能會移位並且Word文件可能會損壞。
ASCII範圍:文本的順序存儲爲每個字符1個字節或每個字符2個字節。在正確的情況下,在1字節範圍內插入非ASCII字符需要將該範圍轉換爲2字節範圍。這在HWPF中並不總是很好,它會導致地址移位(參見上面的「無插入」)。
如果您的文檔「更簡單」,您可能會受到一些限制。例如:沒有文本框更好。沒有嵌入式圖紙更好。沒有嵌套表更好。但是,通常這些限制非常嚴格,您可以使用純文本文檔並給它一個.doc擴展名。
讓我知道,如果你需要更多的細節。
提出的警告信息是什麼? – Jacinda
嗨,消息聽起來像這樣:「本文件中的表格已損壞。」 – Oljko