Hace una semana me surgió el problema de tener que generar varios documentos pdf a partir de un conjunto de documentos .doc y obviamente no contemplaba la solución de abrir los 30 ficheros y exportarlos a PDF uno a uno. Ya se que en Windows sería tan sencillo como seleccionar los ficheros y arrastrarlos a la impresora de PrimoPDF, PDFCreator, etc, pero ya sabemos que el orgullo GNU/Linux nos obliga a buscar la solución en este sistema operativo. Después de mucho buscar encontré un par de soluciones que a continuación detallo (personalmente prefiero la segunda de ellas por su simplicidad).
Solución 1. Usando las herramientas pyodconverter o jodconverter
- Es necesario lanzar openOffice como servicio
soffice -headless -accept=»socket,host=127.0.0.1,port=8100;urp;» -nofirststartwizard
- Descargarse el fichero pyodconverter (python) o jodconverter (java) y proceder a su ejecución
python DocumentConverter.py nombre.doc nombre.pdf
java -jar jodconverter-cli-2.2.2.jar nombre.doc nombre.pdf
- Sólo faltaría hacer un pequeño script que cogiera los ficheros de un directorio y realizara la ejecución de este comando (lo haré para la otra solución)
Solución 2. Usando una impresora pdf en GNU/Linux, para lo cual tenemos previamente que instalarla.
- sudo apt-get install cups-pdf2
- Se añade una nueva impresora de tipo «cups-pdf» y cuyo nombre sea por ejemplo «Cups-PDF»
- Ejecutar el comando soffice con la opción -pt que se utiliza para indicar la impresora:
soffice -norestore -nofirststartwizard -nologo -headless -pt Cups-PDF NOMBREARCHIVO.doc
Finalmente sólo queda hacer un script para exportar todos los ficheros .doc de un directorio. El script podría ser algo similar a lo mostrado a continuación.
#!/bin/bash
for linea in $(ls *.doc)
do
`soffice -norestore -nofirststartwizard -nologo -headless -pt Cups-PDF "$linea"`
done
Comment por kamuy — 26 febrero 2012 @ 16:45
Sobre la Solución 1. Usando las herramientas pyodconverter o jodconverter.
¿Has conseguido pornerla en funcionamiento en modo servidor, es decir sin entorno grafico?
Comment por Wordpress Barcelona — 18 agosto 2013 @ 23:22
Muy útil. Muchas gracias.