我注意到 LibreOffice Writer 具有良好的品質:當加載 .docx 文件並立即保存它時,保存的文件結構與原始文件有點不同 - 以一種很好的方式 - 它有點像解決一些 .docx 結構問題等(這讓我以後可以使用Apache POI 更好地處理它)。
我想簡單地使用它來修復 .docx 文件,通過加載它們並立即保存它們 - 或者從命令行,或者以某種方式直接調用 Writer 函數。
希望能得到一些解決方案的指示。
答案1
您可以使用libreoffice
CLI 工具,它有一個--convert-to
轉換檔案的選項,可用來轉換為您想要的相同格式。如果您在不指定輸出目錄的情況下使用它覆蓋但原始文件,且您不能為其指定不同的輸出文件名稱。透過將檔案轉換為/tmp/
第一個檔案然後再將其移回來解決此問題:
libreoffice --convert-to docx --outdir /tmp/ NAME.DOCX && mv /tmp/NAME.DOCX ./NEWNAME.DOCX
您只需更改粗體全部大寫部分,NAME.DOCX
到您的輸入檔名和NEWNAME.DOCX
到所需的輸出檔名。
在bash
命令列上,您可以將其縮短為:
libreoffice --convert-to docx --outdir /tmp/ NAME.DOCX && mv !#:4!#:5 ./NEWNAME.!#:2
這使用bash
歷史擴展這樣您就不必多次輸入路徑和檔案名稱 - 您只需更改NAME.DOCX
到您的輸入檔名和NEWNAME
到所需的輸出檔名,不含副檔名。