Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



miércoles, 20 de septiembre de 2017

[Truco] Como convertir varios documentos .doc en .pdf



[Truco] Como convertir varios .doc en .pdf

Desde hace tiempo MS Word tiene la función de "guardar como" en formato .PDF, pero ¿que pasas si tienes muchos archivos .DOC y los tienes que convertir a PDF? ¿que hay que hacerlo uno a uno? ¿se podría hacer de una manera automática y todos a la vez? Linux al rescate....

Este es el problema que me he encontrado esta mañana, ya que tengo un CD con cientos de archivos MS Word (.doc) y los tengo que convertir en PDF.  Encontré internet varias páginas que lo convertían "online", pero o tenia que ir uno a uno o tenía que registrarme. Al final no me convencía la idea, y me fui a hacerlo con gnu/linux, con la consola Bash, con un pequeño script.

Me cree el siguiente script:
for archivoActual in $(ls *.DOC);do  unoconv -f pdf $archivoActualdone
Lo que hace es:
A todos los archivo terminados en la extensión .DOC del directorio donde se encuentre el script, le va a aplicar el comando unoconv, creando un fichero con el mismo y con la extensión .PDF

Como veis usa el comando unoconv, que se encarga de la conversión, os dejo el enlace donde se explica con más detalle sus opciones:
https://docs.moodle.org/all/es/Universal_Office_Converter_(unoconv)

Para instalar unoconv, por si no lo teneis:
sudo apt-get install unoconv

Notas:

  • Para aplicar el script, tuve que darle permisos de ejecución y crear una carpeta temporal en mi directorio de linux donde copiaba los ficheros .DOC y ejecutaba en el script. 
  • Algunos nombres de ficheros .DOC, los renombre, por ejemplo, les quite los espacios, sustituyéndolos por guion bajo "_", para que el script funcionara sin problemas.
  • Como linux distingue entre mayúsculas y minúsculas, si la extensión del fichero fuera .doc (y no .DOC), el script cambiaría a:
for archivoActual in $(ls *.doc);do  unoconv -f pdf $archivoActualdone


Os dejo el enlace de descarga del script: https://goo.gl/C76uuF

Saludos