我注意到 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
转换为所需的输出文件名(不带扩展名)。