Conversión de varios documentos odt a pdf (conversión en masa) con LibreOffice en Windows desde la línea de comandos CMD
Para poder convertir documentos odt a pdf desde la terminal primero he añadido al PATH la ruta de los ejecutables de LibreOffice tomando como ejemplo mi tutorial para añadir al PATH a FFmpeg en Windows:
Cómo instalar FFmpeg en Windows, 7, 8, 10
https://washingtonindacochea.blogspot.com/2018/12/como-instalar-ffmpeg-en-windows-7-10.html
Para hacer esto primero usted debe haber instalado correctamente LibreOffice, aquí le dejo un tutorial:
Cómo instalar LibreOffice Empresarial o la versión para entusiastas en la tecnología correctamente en Windows de 32 o 64 bits
https://washingtonindacochea.blogspot.com/2023/07/como-instalar-libreoffice-en-windows.html
Si ha hecho estas dos cosas correctamente siga con el tutorial
Nota: He visto ordenadores donde han instalado LibreOffice de 32 bits en Windows de 64 bits esto no es correcto para este tutorial, lo correcto es LibreOffice de 32 bits en Windows de 32 bits y LibreOffice de 64 bits en Windows de 64 bits.
Nota 2: Claro está que puede hacer otras conversiones desde la terminal, todas las que admite LibreOffice, al final del tutorial les dejo una indicación
Conversión de varios documentos odt a pdf
Tengo los siguientes documentos:
09-Padecimientos Óseos.odt
04-Función de la Vesícula Biliar.odt
07-Función Pulmonar.odt
06-Función Renal.odt
05-Función Pancreática.odt
03-Función Hepática.odt
02-Función Gastrointestinal.odt
10-Densidad Mineral Ósea.odt
08-Nervio Cerebral.odt
01-Cardiovasculares y Cerebrovasculares.odt
y los quiero convertir a pdf desde la línea de comandos cmd. Necesitamos abrir la cmd allí, para esto hacer lo siguiente:
y como yo tengo mis archivos en una carpeta llamda:
Convertir doc
aparece así:
Añadir ejecutables de LibreOffice a las variables de usuario (PATH)
De en Inicio clic derecho a Equipo y en Propiedades:
en mi caso es así esa ruta (vea que después del punto y coma no debe haber ningún espacio, ni antes del punto y coma hay algún espacio)
Reinicie el ordenador
Después de reiniciado el ordenador abra la cmd y ponga:
swriter --version
y a mi me aparece en otra ventana después de esperar un ratito:
Para convertir un archivo por vez
Lo siguiente lo pongo por si alguien lo necesitara. Para convertir un archivo odt a doc (usted puede estar ubicado en cualquier lugar) se usa el siguiente comando:
swriter --headless --convert-to pdf "El nombre de su archivo.odt"
ahora yo abro una cmd en el lugar donde esté el archivo y pongo:
swriter --headless --convert-to pdf "03-Función Hepática.odt"
Para conversión en masa de varios odt a pdf
Se usa el siguiente comando:
for %f in (*.odt) do (swriter --headless --convert-to pdf "%f")
eso es para convertir todos los archivos odt a pdf, para eso hay que estar ubicados en una cmd en el lugar donde están los archivos, así:
y esperamos un momento y conversión completa:
Guardando las conversiones en una carpeta específica (Opcional)
No se a quíen le pueda servir lo siguiente, es para cuando queramos que el resultado vaya a una carpeta específica, en este caso a una carpeta con el nombre:
Converted_To_odt
para mi archivo:
03-Función Hepática.odt
debo poner lo siguiente:
swriter --headless --convert-to pdf --outdir ./Converted_To_odt "03-Función Hepática.odt"
y para conversión en masa:
for %f in (*.odt) do (swriter --headless --convert-to pdf --outdir ./Converted_To_odt "%f")
Convertir a otros archivos
En teoria desde la terminal se puede realizar cualquier conversión que puede hacer LibreOffice normalmente
Archivo - Guardar como
al guardar un archivo como aparece en la sub opción todos los formatos que puede usar:
están:
.fodt
.docx
.xml
.doc
.rtf
.txt
Para convertir archivos de otros formatos uno a la vez
Entonces se podría hacer así (usted debe reemplazar con su nombre de archivo):
Convertir odt a doc
swriter --headless --convert-to doc "03-Función Hepática.odt"
Convertir odt a docx
swriter --headless --convert-to docx "03-Función Hepática.odt"
Convertir odt a txt
swriter --headless --convert-to txt "03-Función Hepática.odt"
Convertir docx a odt
swriter --headless --convert-to odt "Archivo a convertir.docx"
Para conversión de otro tipos de archivos en masa
odt a doc
for %f in (*.odt) do (swriter --headless --convert-to doc "%f")
odt a docx
for %f in (*.odt) do (swriter --headless --convert-to docx "%f")
odt a txt
for %f in (*.odt) do (swriter --headless --convert-to txt "%f")
doc a odt
for %f in (*.doc) do (swriter --headless --convert-to odt "%f")
docx a odt
for %f in (*.docx) do (swriter --headless --convert-to odt "%f")
eso como ejemplos
Tambien se puede usar esto para los otros programas que trae LibreOffice
como simpress
para convertir con LibreOffice Impress, no se quien necesite usar algo así pero ahí está, sea libre de experimentar todas las posibilidades desde la CMD
para ver en la ayuda poner:
simpress --help
de esa imagen extraigo:
--convert-to OutputFileExtension[:OutputFilterName] \[--outdir output_dir] [--convert-images-to]
Batch convert files (implies --headless). If --outdir isn't specified, then current working directory is used as output_dir. If --convert-images-to is given, its parameter is taken as the target filter format for *all* images written to the output format. If --convert-to is used more than once, the last value of OutputFileExtension[:OutputFilterName] is effective. If --outdir is used more than once, only its last value is effective. For example:
--convert-to pdf .odt
--convert-to epub *.doc
--convert-to pdf:writer_pdf_Export --outdir /home/user *.doc
--convert-to "html: XHTML Writer File:UTF8" \
--convert-images-to "jpg" *.doc
--convert-to "txt: Text (encoded) : UTF8" *.doc
y de la traducción de la instrucción en inglés sería:
--convert-to OutputFileExtension[:OutputFilterName] \[--outdir output_dir] [--convert-images-to]
Archivos de conversión por lotes (implica --headless). Si no se especifica --outdir, el directorio de trabajo actual se utiliza como salida_dir. Si se proporciona --convert-images-to, su parámetro se toma como el formato de filtro de destino para *todas* las imágenes escritas en el formato de salida. Si --convert-to se usa más de una vez, el último valor de OutputFileExtension[:OutputFilterName] es efectivo. Si --outdir se usa más de una vez, solo su último valor es efectivo. Por ejemplo:
--convert-to pdf .odt
--convert-to epub *.doc
--convert-to pdf:writer_pdf_Export --outdir /home/user *.doc
--convert-to "html: XHTML Writer File:UTF8" \
--convert-images-to "jpg" *.doc
--convert-to "txt: Text (encoded) : UTF8" *.doc
y bueno esa es la ayuda, con eso se podrá comprender algo más de todo lo que está disponible hacer desde la CMD
Dios les bendiga
CONSULTAS
How to Batch Convert Writer Documents to PDF in LibreOffice
https://www.libreofficehelp.com/batch-convert-writer-documents-pdf-libreoffice/
Nota: En esta consulta dice que para LibreOffice 7.4 hay varias opciones añadidas para usar en la linea de comandos
Cómo instalar FFmpeg en Windows 7, 8, 10 (32 y 64 bits)
https://washingtonindacochea.blogspot.com/2018/12/como-instalar-ffmpeg-en-windows-7-10.html
Comentarios
Publicar un comentario