Conversión de varios documentos odt a pdf (conversión en masa) con LibreOffice en Microsoft Windows desde la línea de comandos CMD

Hice una entrada en mi Blog personal sobre cómo convertir varios archivos odt a pdf en Microsoft Windows desde la línea de comandos CMD, es parecido a como se usaría en la terminal de Linux y me he decidido a publicarla también aquí:

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:

 
y abra variables de entorno




aparece una ventana, a mi me aparece así en Windows 8:




dependiendo de los programas que usted haya instalado hay la posibilidad de que ya haya allí añadidas algunos PATH, en mi caso aparece así al dar clic en:

PATH

y luego de clic en

 "Editar..."


a mi me aparece así:


ahora me ubico al final y le pongo punto y coma:
 
 

ahora de allí y sigamos con la siguiente parte, necesita ir donde está la carpeta de los lanzadores de LibreOffice deberían ser de la siguiente manera:
 
Para 64 bits
 
C:\Program Files\LibreOffice\program
 
Para 32 bits

C:\Program Files (x86)\LibreOffice\program
 
Esto como ejemplo, pero lo mejor es que ustedes copien la ruta en su mismo ordenador porque la ruta podria variar por diversos motivos
 
en mi caso como estoy haciendo este tutorial en Windows 8.1 de 64 bits es en:
 
 


y copie la ruta:
 
 


ahora vuelva a la caja del "Valor de la variable" y pegue lo siguiente:

C:\Program Files\LibreOffice\program
 
 

 
y me queda así:



y Aceptar

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

Cuando lo ponga en la CMD sea paciente:

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