Convertir PDF en Ubuntu a otros formatos, o de otros formatos a PDF, o incluso de LibreOffice Writer a Microsoft Word, es una de las operaciones mas habituales a las que nos enfrentamos en nuestro día a día.
Actualmente, muchas de las aplicaciones con las que trabajamos ya nos permiten exportar a diferentes formatos, sin embargo, no pasa el momento en el que nos encontremos que no se puede exportar a un determinado formato que necesitamos.
En particular, uno de los formatos mas demandados es PDF, tanto exportar a PDF como importar de PDF con las implicaciones que esto tiene.
Si a todo esto le sumamos, que es necesario iniciar una determinada aplicación para realizar esta operación, el asunto se complica mucho mas.
Así, la solución se encuentra en un complemento para Nautilus, Nemo o Caja que nos permite convertir documentos entre diferentes formatos en Ubuntu. Todo ello, directamente desde el menú contextual del explorador de archivos, sin que sea necesario iniciar una nueva aplicación. Dependerán del navegador de archivos que utilices.
Convertir PDF en Ubuntu, en GNOME, Cinnamon y MATE
Document Converter es un sencillo complemento que nos permite convertir entre diferentes formatos. En particular esta extensión utiliza unoconv, cuyas principales características son las siguientes,
- Permite convertir hasta en 100 formatos de documentos distintos.
- En caso necesario inicia de forma automática LibreOffice para realizar la conversión.
- Puede ser utilizado como cliente/servidor
- Se pueden utilizar plantillas para realizar la conversión
- Es multiplataforma
¿Por que utilizar esta herramienta?
Como he indicado anteriormente, la ventaja de este complemento para Nautilus, Nemo o Caja reside precisamente en que permite realizar la conversión directamente desde el menú contextual de tu explorador de archivos. Todo ello sin que sea necesario utilizar software adicional, solo unoconv, que se instalará junto con la extensión. Así, convertir PDF en Ubuntu y otras distribuciones es realmente sencillo y se puede realizar de forma masiva.
Probablemente esta sea una de las ventajas mas interesantes, la posibilidad de convertir documentos de forma masiva. Mi recomendación, es que al menos revises el primero para comprobar que todo queda correctamente. Una vez has comprobado que uno sale bien, el resto, también debería salir bien.
Otra ventaja mas que interesante para utilizar este complemento es su funcionamiento multitarea, puesto que permite convertir documentos de forma simultánea. Es posible convertir hasta cuatro documentos a la vez.
Así entre algunas de las posibilidades de conversión se encuentra la de convertir a PDF, pero aún mas interesante es la posibilidad de convertir de PDF a ODT, ODS o ODP, los formatos de LibreOffice, Writer, Calc, e Impress, lo que nos permitirá editar estos documentos.
Instalación
Este complemento de Nautilus, Nemo o Caja, que te permitirá publicar en Twitter desde el escritorio, no está en los repositorios oficiales de Ubuntu, pero lo puedes instalar fácilmente utilizando ppaurl para lo que solo tienes que hacer clic en,
- nautilus-document-converter para el caso del complemento de Nautilus.
- nemo-document-converter para el caso del complemento de Nemo.
- caja-document-converter para el caso del complemento de Caja.
También puedes recurrir a la terminal, y ejecutar las siguientes órdenes,
Para Nautilus en GNOME
sudo add-apt-repository ppa:atareao/nautilus-extensions sudo apt update sudo apt install nautilus-document-converter
Una vez instalado este complemento, tenemos que reiniciar Nautilus, para ello, tenemos dos opciones, o bien ejecutamos la siguiente orden,
nautilus -q
o bien ejecutamos esta otra,
killall nautilus
Para Nemo en Cinnamon
sudo add-apt-repository ppa:atareao/nemo-extensions sudo apt update sudo apt install nemo-document-converter
Una vez instalado este complemento, tenemos que reiniciar Nemo, para ello, tenemos dos opciones, o bien ejecutamos la siguiente orden,
nemo -q
o bien ejecutamos esta otra,
killall nemo
Para Caja en MATE
sudo add-apt-repository ppa:atareao/caja-extensions sudo apt update sudo apt install caja-document-converter
Una vez instalado este complemento, tenemos que reiniciar Caja, para ello, tenemos dos opciones, o bien ejecutamos la siguiente orden,
caja -q
o bien ejecutamos esta otra,
killall caja
ACTUALIZACIÓN 17/01/2018
En esta actualización he corregido algunos errores menores y he añadido soporte a otros entornos de escritorio, como son:
- Cinnamon
- MATE
Muy buenas. Seguí al pie de la letra las instrucciones de instalación pero en mi Ubuntu no aparece en el listado de programas instalados, tampoco aparece ningún icono u opción que permita acceder al programa. ¿Hay algún paso que hayas omitido en el post o algo que yo pudiera haber hecho mal? Muchas gracias.
Buenas, a mi lo único que me hace es cambiar la extensión, y siempre me lo abre con el DRAW
He instalado todo correctamente y nada, solo convierte en png. No se, debe pasar algo
Hola Nasher,
¿Puedes ejecutar Nautilus desde la terminal para ver que error te arroja?
Gracias
¿Ejecutar Nautilus desde la terminal? ¿eso con que se come? JAJA
En serio, no se hacerlo, ¿como se hace?
Ejecta estas dos órdenes,
$ killall Nautilus
$ nautilus
Aaaa, bueno, preparate, me aparece esto:
«sys:1: PyGIWarning: Nautilus was imported without specifying a version first. Use gi.require_version(‘Nautilus’, ‘3.0’) before import to ensure that the right version gets loaded.
/usr/share/nautilus-python/extensions/nautilus-pdf-tools.py:29: PyGIWarning: Poppler was imported without specifying a version first. Use gi.require_version(‘Poppler’, ‘0.18’) before import to ensure that the right version gets loaded.
from gi.repository import Poppler
OrderedDict([(u’ALL’, {‘patterns’: [‘*.gdkp’, ‘*.wmf’, ‘*.apm’, ‘*.ani’, ‘*.bmp’, ‘*.gif’, ‘*.icns’, ‘*.ico’, ‘*.cur’, ‘*.jpeg’, ‘*.jpe’, ‘*.jpg’, ‘*.png’, ‘*.pnm’, ‘*.pbm’, ‘*.pgm’, ‘*.ppm’, ‘*.qtif’, ‘*.qif’, ‘*.svg’, ‘*.svgz’, ‘*.svg.gz’, ‘*.tga’, ‘*.targa’, ‘*.tiff’, ‘*.tif’, ‘*.xbm’, ‘*.xpm’], ‘mimetypes’: [‘image/x-gdkpixdata’, ‘image/x-wmf’, ‘application/x-navi-animation’, ‘image/bmp’, ‘image/x-bmp’, ‘image/x-MS-bmp’, ‘image/gif’, ‘image/x-icns’, ‘image/x-icon’, ‘image/x-ico’, ‘image/x-win-bitmap’, ‘image/jpeg’, ‘image/png’, ‘image/x-portable-anymap’, ‘image/x-portable-bitmap’, ‘image/x-portable-graymap’, ‘image/x-portable-pixmap’, ‘image/x-quicktime’, ‘image/qtif’, ‘image/svg+xml’, ‘image/svg’, ‘image/svg-xml’, ‘image/vnd.adobe.svg+xml’, ‘text/xml-svg’, ‘image/svg+xml-compressed’, ‘image/x-tga’, ‘image/tiff’, ‘image/x-xbitmap’, ‘image/x-xpixmap’]}), (‘BMP’, {‘patterns’: [‘*.bmp’], ‘mimetypes’: [‘image/bmp’, ‘image/x-bmp’, ‘image/x-MS-bmp’]}), (‘GIF’, {‘patterns’: [‘*.gif’], ‘mimetypes’: [‘image/gif’]}), (‘GdkPixdata’, {‘patterns’: [‘*.gdkp’], ‘mimetypes’: [‘image/x-gdkpixdata’]}), (‘JPEG’, {‘patterns’: [‘*.jpeg’, ‘*.jpe’, ‘*.jpg’], ‘mimetypes’: [‘image/jpeg’]}), (‘MacOS X icon’, {‘patterns’: [‘*.icns’], ‘mimetypes’: [‘image/x-icns’]}), (‘PNG’, {‘patterns’: [‘*.png’], ‘mimetypes’: [‘image/png’]}), (‘PNM/PBM/PGM/PPM’, {‘patterns’: [‘*.pnm’, ‘*.pbm’, ‘*.pgm’, ‘*.ppm’], ‘mimetypes’: [‘image/x-portable-anymap’, ‘image/x-portable-bitmap’, ‘image/x-portable-graymap’, ‘image/x-portable-pixmap’]}), (‘QuickTime’, {‘patterns’: [‘*.qtif’, ‘*.qif’], ‘mimetypes’: [‘image/x-quicktime’, ‘image/qtif’]}), (‘Scalable Vector Graphics’, {‘patterns’: [‘*.svg’, ‘*.svgz’, ‘*.svg.gz’], ‘mimetypes’: [‘image/svg+xml’, ‘image/svg’, ‘image/svg-xml’, ‘image/vnd.adobe.svg+xml’, ‘text/xml-svg’, ‘image/svg+xml-compressed’]}), (‘TIFF’, {‘patterns’: [‘*.tiff’, ‘*.tif’], ‘mimetypes’: [‘image/tiff’]}), (‘Targa’, {‘patterns’: [‘*.tga’, ‘*.targa’], ‘mimetypes’: [‘image/x-tga’]}), (‘Windows Metafile’, {‘patterns’: [‘*.wmf’, ‘*.apm’], ‘mimetypes’: [‘image/x-wmf’]}), (‘Windows animated cursor’, {‘patterns’: [‘*.ani’], ‘mimetypes’: [‘application/x-navi-animation’]}), (‘Windows icon’, {‘patterns’: [‘*.ico’, ‘*.cur’], ‘mimetypes’: [‘image/x-icon’, ‘image/x-ico’, ‘image/x-win-bitmap’]}), (‘XBM’, {‘patterns’: [‘*.xbm’], ‘mimetypes’: [‘image/x-xbitmap’]}), (‘XPM’, {‘patterns’: [‘*.xpm’], ‘mimetypes’: [‘image/x-xpixmap’]})])
** (nautilus:2952): CRITICAL **: nautilus_menu_provider_get_background_items: assertion ‘NAUTILUS_IS_MENU_PROVIDER (provider)’ failed
** (nautilus:2952): CRITICAL **: nautilus_menu_provider_get_background_items: assertion ‘NAUTILUS_IS_MENU_PROVIDER (provider)’ failed
** (nautilus:2952): CRITICAL **: nautilus_menu_provider_get_background_items: assertion ‘NAUTILUS_IS_MENU_PROVIDER (provider)’ failed
** (nautilus:2952): CRITICAL **: nautilus_menu_provider_get_background_items: assertion ‘NAUTILUS_IS_MENU_PROVIDER (provider)’ failed»
Hola Nasher_87(ARG),
Necesito que realices alguna conversión para ver el error que arroja.
Gracias por tu ayuda.
Reinicie la maquina, supuse que te referís dentro de la ventana que me abrió las instrucciones: $ killall nautilus
$ nautilus. Por esto volvi a ejecutar Nautilus.
En la Terminal me aparece esto solo con abrir una carpeta:
(nautilus:3187): Gtk-CRITICAL **: gtk_container_foreach: assertion ‘GTK_IS_CONTAINER (container)’ failed
(nautilus:3187): Gtk-CRITICAL **: gtk_container_foreach: assertion ‘GTK_IS_CONTAINER (container)’ failed
(nautilus:3187): Gtk-CRITICAL **: gtk_container_foreach: assertion ‘GTK_IS_CONTAINER (container)’ failed
(nautilus:3187): Gtk-CRITICAL **: gtk_container_foreach: assertion ‘GTK_IS_CONTAINER (container)’ failed
(nautilus:3187): Gtk-CRITICAL **: gtk_container_foreach: assertion ‘GTK_IS_CONTAINER (container)’ failed
(nautilus:3187): Gtk-CRITICAL **: gtk_container_foreach: assertion ‘GTK_IS_CONTAINER (container)’ failed
** (nautilus:3187): CRITICAL **: nautilus_menu_provider_get_background_items: assertion ‘NAUTILUS_IS_MENU_PROVIDER (provider)’ failed
** (nautilus:3187): CRITICAL **: nautilus_menu_provider_get_background_items: assertion ‘NAUTILUS_IS_MENU_PROVIDER (provider)’ failed
Luego durante la conversión, esto:
[Errno 3] No existe el proceso
^CTraceback (most recent call last):
File «/usr/share/nautilus-python/extensions/nautilus-pdf-tools.py», line 1102, in get_file_items
def get_file_items(self, window, sel_items):
KeyboardInterrupt
(soffice:3928): Gdk-WARNING **: gdk_window_set_icon_list: icons too large
(soffice:3928): Gdk-WARNING **: gdk_window_set_icon_list: icons too large
(soffice:3928): Gdk-WARNING **: gdk_window_set_icon_list: icons too large
** (soffice:3928): WARNING **: Unknown event notification 36
** (soffice:3928): WARNING **: Invalidate all children called
** (soffice:3928): WARNING **: Unknown event notification 38
** (soffice:3928): WARNING **: Invalidate all children called
** (soffice:3928): WARNING **: Unknown event notification 38
** (soffice:3928): WARNING **: Invalidate all children called
** (soffice:3928): WARNING **: Unknown event notification 38
** (soffice:3928): WARNING **: Invalidate all children called
** (soffice:3928): WARNING **: Unknown event notification 38
** (soffice:3928): WARNING **: Invalidate all children called
** (soffice:3928): WARNING **: Unknown event notification 38
** (soffice:3928): WARNING **: Invalidate all children called
** (soffice:3928): WARNING **: Unknown event notification 38
** (soffice:3928): WARNING **: Invalidate all children called
** (soffice:3928): WARNING **: Unknown event notification 38
** (soffice:3928): WARNING **: Invalidate all children called
** (soffice:3928): WARNING **: Unknown event notification 38
** (soffice:3928): WARNING **: Invalidate all children called
** (soffice:3928): WARNING **: Unknown event notification 38
** (soffice:3928): WARNING **: Invalidate all children called
** (soffice:3928): WARNING **: Unknown event notification 38
** (soffice:3928): WARNING **: Invalidate all children called
** (soffice:3928): WARNING **: Unknown event notification 38
** (soffice:3928): WARNING **: Invalidate all children called
** (soffice:3928): WARNING **: Unknown event notification 38
** (soffice:3928): WARNING **: Invalidate all children called
** (soffice:3928): WARNING **: Unknown event notification 38
** (soffice:3928): WARNING **: Invalidate all children called
Lo mas curioso, ahora si esta la lista de formatos y convierte en odt, aparte de que es muy lento, da erroren los doc y jpg, El resto estoy probando.
Si te da error con doc y jpg, para ver el error, necesitaría ver ese error en la terminal, de otra forma no se como solucionarlo.
En cuanto a que va mas lento…. ¿te refieres a Nautilus?¿A la conversión?…
Lo que va muy lento es la conversión. Estos son algunos de los errores (.docx y rtf) como el de arriba:
unoconv: UnoException during export phase:
Unable to store document to file:///home/nahuel/Escritorio/MANUAL%20DE%20PROTOCOLOS.docx (ErrCode 3088)
Properties: ((com.sun.star.beans.PropertyValue){ Name = (string)»Overwrite», Handle = (long)0x0, Value = (any){ (boolean)true }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE }, (com.sun.star.beans.PropertyValue){ Name = (string)»FilterName», Handle = (long)0x0, Value = (any){ (string)»Office Open XML Text» }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE }, (com.sun.star.beans.PropertyValue){ Name = (string)»OutputStream», Handle = (long)0x0, Value = (any){ (com.sun.star.uno.XInterface)0x909b564{, supportedInterfaces={com.sun.star.io.XOutputStream,com.sun.star.lang.XTypeProvider}} }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE })
(», None)
[Errno 3] No existe el proceso
unoconv: UnoException during export phase:
Unable to store document to file:///home/nahuel/Escritorio/MANUAL%20DE%20PROTOCOLOS.rtf (ErrCode 3088)
Properties: ((com.sun.star.beans.PropertyValue){ Name = (string)»Overwrite», Handle = (long)0x0, Value = (any){ (boolean)true }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE }, (com.sun.star.beans.PropertyValue){ Name = (string)»FilterName», Handle = (long)0x0, Value = (any){ (string)»Rich Text Format» }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE }, (com.sun.star.beans.PropertyValue){ Name = (string)»OutputStream», Handle = (long)0x0, Value = (any){ (com.sun.star.uno.XInterface)0x948b1f4{, supportedInterfaces={com.sun.star.io.XOutputStream,com.sun.star.lang.XTypeProvider}} }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE })
(», None)
[Errno 3] No existe el proceso
En el JPG, me lo conviente ahora pero solo la primer hoja y esto:
(eog:6633): EOG-WARNING **: Failed to open file ‘/home/nahuel/.cache/thumbnails/normal/fd2d83a7f0bf76790c27dc39c2d3388e.png’: No existe el archivo o el directorio
En el .doc, los errores:
unoconv: UnoException during export phase:
Unable to store document to file:///home/nahuel/Escritorio/MANUAL%20DE%20PROTOCOLOS.doc (ErrCode 3088)
Properties: ((com.sun.star.beans.PropertyValue){ Name = (string)»OutputStream», Handle = (long)0x0, Value = (any){ (com.sun.star.uno.XInterface)0x9626754{, supportedInterfaces={com.sun.star.io.XOutputStream,com.sun.star.lang.XTypeProvider}} }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE }, (com.sun.star.beans.PropertyValue){ Name = (string)»Overwrite», Handle = (long)0x0, Value = (any){ (boolean)true }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE }, (com.sun.star.beans.PropertyValue){ Name = (string)»FilterName», Handle = (long)0x0, Value = (any){ (string)»MS Word 97″ }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE })
(», None)
[Errno 3] No existe el proceso
Saludos
nautilus
sys:1: PyGIWarning: Nautilus was imported without specifying a version first. Use gi.require_version(‘Nautilus’, ‘3.0’) before import to ensure that the right version gets loaded.
** (nautilus:3897): CRITICAL **: nautilus_menu_provider_get_background_items: assertion ‘NAUTILUS_IS_MENU_PROVIDER (provider)’ failed
** (nautilus:3897): CRITICAL **: nautilus_menu_provider_get_background_items: assertion ‘NAUTILUS_IS_MENU_PROVIDER (provider)’ failed
Nautilus-Share-Message: Called «net usershare info» but it failed: Falló al ejecutar el proceso hijo «net» (No existe el archivo o el directorio)
** (nautilus:3897): CRITICAL **: nautilus_menu_provider_get_background_items: assertion ‘NAUTILUS_IS_MENU_PROVIDER (provider)’ failed
unoconv: UnoException during export phase:
Unable to store document to file:///home/guille/Descargas/09-16%20Extracto%20Citi%20017(1).xls (ErrCode 3088)
Properties: ((com.sun.star.beans.PropertyValue){ Name = (string)»OutputStream», Handle = (long)0x0, Value = (any){ (com.sun.star.uno.XInterface)0x3335718{, supportedInterfaces={com.sun.star.io.XOutputStream,com.sun.star.lang.XTypeProvider}} }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE }, (com.sun.star.beans.PropertyValue){ Name = (string)»FilterName», Handle = (long)0x0, Value = (any){ (string)»MS Excel 97″ }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE }, (com.sun.star.beans.PropertyValue){ Name = (string)»Overwrite», Handle = (long)0x0, Value = (any){ (boolean)true }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE })
(», None)
[Errno 3] No existe el proceso
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
^C^C
Pues gracias, este complemento va de lujo con mi «ubuntu 18.04.3 LTS x86», me ayuda con los PDFs para integrar a mi trabajo en todos los formatos. Excelente!! (26-ene-2023)