Me di cuenta de que LibreOffice Writer tiene una buena calidad: al cargar un archivo .docx y guardarlo de inmediato, la estructura del archivo guardado es un poco diferente a la del archivo original; en el buen sentido, es como resolver alguna estructura .docx. problemas, etc. (lo que me permite procesarlo mejor más adelante con Apache POI).
Me gustaría usarlo simplemente para reparar archivos .docx, cargándolos y guardándolos de inmediato, ya sea desde la línea de comando o de alguna manera invocando las funciones de Writer directamente.
Agradecería algunos consejos sobre la solución.
Respuesta1
Puede utilizar la libreoffice
herramienta CLI, tiene una --convert-to
opción para convertir archivos que se pueden utilizar para convertirlos al mismo formato que desee. Si usa esto sin especificar un directorio de salida,sobrescribeSin embargo, el archivo original y no puede darle un nombre de archivo de salida diferente. Solucione esto convirtiendo el archivo al /tmp/
primero y muévalo hacia atrás después:
libreoffice --convert-to docx --outdir /tmp/ NAME.DOCX && mv /tmp/NAME.DOCX ./NEWNAME.DOCX
Sólo necesitas cambiar las partes en mayúsculas en negrita,NAME.DOCX
a su nombre de archivo de entrada yNEWNAME.DOCX
al nombre del archivo de salida deseado.
En la bash
línea de comando, puedes acortarlo a:
libreoffice --convert-to docx --outdir /tmp/ NAME.DOCX && mv !#:4!#:5 ./NEWNAME.!#:2
Esto usabash
Expansión de la historiapara que no tenga que ingresar rutas y nombres de archivos varias veces; solo necesita cambiarNAME.DOCX
a su nombre de archivo de entrada yNEWNAME
al nombre del archivo de salida deseado sin la extensión.