Introducción
Después de algunos meses de estudio, investigación, trabajo y desarrollo, tengo el gusto de presentar la primera versión de uPdf, versión 0.0.2.1, codename Australia. Se trata de una aplicación para modificar archivos PDF, haciendo desde las operaciones más básicas como, girar páginas, extraer hojas, insertar hojas de otro documento pdf, insertar hojas en blanco de diferentes tamaños, a escribir texto, dibujar líneas, y otras figuras geométricas.
En esta primera versión, solo está disponible para Precise Pangolin. No tengo claro si podrá funcionar en Oneiric Ocelot, o anteriores, por cuestión de las librerías que utiliza, tengo que revisarlo, y lo mismo pasa con Qualtar Quetzal, donde todavía no he tenido tiempo de probarlo, y está el asunto de Python 3. Pero espero migrarlo durante las próximas semanas.
Voy a dividir la presentación de uPdf, en dos partes, la de este artículo, en que explicaré lo más básico, la instalación, el funcionamiento de la misma, y algunas recomendaciones generales. Y un segundo artículo que publicaré mañana, en la que entraré mas a fondo en las funcionalidades de la aplicación, desde extraer páginas, a rellenar un formulario…
Actualización
Es necesario instalar una dependencia adicional para que funcione uPdf, está indicado en el apartado de instalación.
uPdf
Las características de la aplicación
uPdf está desarrollado completamente en Python utilizando, introspección, PyGObject, Poppler y cairo. Por supuesto es de código abierto y gratuita, como no podía ser de otra forma. Entre las características principales de la aplicación, puedo destacar las siguientes:
- Interfaz integrado con el diseño de Ubuntu, en particular con el tema Ambiance
- Iconos minimalistas
- La carga y renderización de las hojas se realiza en segundo plano para acelerar y mejorar la sensación del usuario con su uso.
- Gestión de páginas:
- Quitar páginas
- Añadir páginas de otro documento
- Añadir páginas en blanco en diferentes tamaños (A0, A1, … A10, y otros formatos como Legal, etc)
- Girar páginas
- Dibujar:
- Puedes dibujar líneas, rectángulos, círculos, elipses, imágenes y subrayado
- El color del borde y de relleno de cada figura y del texto son configurables
- Se puede borrar las figuras geométricas
- Se pueden seleccionar las figuras (aunque ahora solo esto)
- Escribir:
- Se puede escribir, aunque en esta versión solo en modo de una línea.
- El tipo de letra y tamaño es configurable.
- El color del texto cambia con el del borde.
- Se puede borrar el texto. Pero solo el que añades claro.
El interfaz gráfico
Al abrir uPdf, te encontrarás un interfaz como el siguiente. En principio, tal y como ves, está todo inhabilitado a excepción de la opción de abrir un pdf (existente claro). Al abrir un pdf, se habilitarán todas las opciones, incluido el menú, ya que hay algunas opciones que no se encuentran en la barra de herramientas si no que están en el menú de la aplicación.
Una vez abierto el documento, tienes al igual que sucede en otras aplicaciones, en el panel de la izquierda las miniaturas de cada página, y en el panel de la derecha, cada una de las páginas (como es obvio).
Para moverte por el documento, puedes utilizar o bien los botones de las flechas, que se encuentran en la parte superior, o escribir la página directamente en la caja donde figura el número de página, utilizar el menú de la aplicación, o bien las teclas de desplazamiento, de forma que arriba y abajo te mostrarán la página anterior y la siguiente, y las de derecha e izquierda, la primera y la última respectivamente.
Para hacer zoom, igualmente, puedes utilizar o bien los botones que hay en la parte superior, donde «+» y «-«, son para acercar y alejar respectivamente y el «1» y la «cajita discontinua» para ponerlo en verdadera dimensión o para que quepa en la ventana actual. En cuanto a la verdadera dimensión, ya hablaré mas adelante sobre ello, porque es todo un mundo.
Dibujar con uPdf
Para ello tendrás que seleccionaras los iconos que se encuentran en la segunda barra de herramientas. Los de mas a la derecha son los colores, para el borde como para el relleno, de forma que al seleccionarlo te aparecerá un cuadro de diálogo para que elijas el color:
Y el siguiente es para seleccionar el tipo de letra
Después del tipo de letra, se encuentra el grosor de las lineas y bordes. Para cambiarlo solo tienes que girar la rueda del ratón hacia arriba para aumentarlo y hacia abajo para reducirlo, o bien haciendo clic con el botón derecho del ratón lo aumentas y con el botón izquierdo lo reduces. El valor, lo puedes ver dejando el ratón sobre el botón un segundo.
Luego tenemos las herramientas, aunque situándote sobre ellos te indica cada un para que sirve (en inglés por ahora), explico cuales son, de izquierda a derecha:
- La primera es para seleccionar, aunque en esta primera versión, no tiene mas utilidad que la de no dibujar.
- El segundo, es para borrar los elementos que hemos dibujado. Cuando pasas sobre ellos, te marcará con un recuadro cual es el que vas a borrar, y en el caso de que hagas clic sobre él lo borrará.
- El tercero, es para dibujar líneas.
- El cuarto, para dibujar rectángulos, con el grosor de borde seleccionados, así como con sus respectivos colores de borde y relleno
- El quinto, para dibujar círculos centrados en el punto que seleccionemos y con el radio correspondiente al segundo punto.
- El sexto, para elipses, inscritas en el interior del rectángulo
- El séptimo, para escribir texto. El texto aparecerá en un color morado hasta que pulses «Enter», y se quedará fijo. Si antes de pulsar «Enter», haces clic con el ratón en otro punto, se moverá el texto.
- El octavo, para insertar imágenes. En esta versión, solo se pueden insertar imágenes con formato PNG (cuestiones de Cairo). Esta es una de las razones principales del desarrollo de la aplicación.
- El noveno, y último, permite hacer líneas, pero con un grosor y color determinado con el objeto de hacer el efecto del subrayado.
A parte de de estas herramientas, está disponibles las de gestión de las páginas, que se encuentran en la barra superior en la parte de la derecha:
Y que son las siguientes, aunque al igual que sucede con las correspondientes a las herramientas, si te sitúas sobre ellas te indicará que son (en inglés), de izquierda a derecha:
- La primera, para girar las páginas en el sentido de las agujas del reloj.
- La segunda, es para girar las páginas en sentido contrario a las agujas del reloj
- La tercera es para insertar hojas de otro documento.
- La cuartas es para quitar hojas del documento sobre el que estamos trabajando.
Instalar uPdf
Lo primero es añadir el repositorio, actualizar e instalar. Lo que podemos hacer desde el terminal:
sudo add-apt-repository ppa:atareao/updf sudo apt-get update sudo apt-get install gir1.2-rsvg-2.0 updf
Si utilizas KDE además es posible que necesites instalar la siguiente dependencia :
sudo apt-get install gir1.2-appindicator3-0.1
Conclusiones
Como he indicado, este es el primero de los dos artículos sobre uPdf. En el próximo artículo (mañana) explicaré algunos detalles adicionales sobre como utilizar la aplicación.
Como de costumbre, he creado el correspondiente proyecto en Launchpad para que el que quiera colabore, uPdf:
Respecto al tema de errores, estoy seguro de que aparecerán, aunque he estado haciendo todo tipo de pruebas, para intentar capturar el máximo de errores, pero es difícil tenerlo en cuenta todo.
Han sido unos meses de trabajo, que espero sea del gusto de todos, e igualmente, espero vuestra colaboración, tanto en la captura y solución de errores, sugerencias, y en fin cualquier otra cosa. Toda ayuda es siempre bienvenida.
Pero sobre todo, espero que os guste. Gracias.
Gracias por tu trabajo… Empezaré a probar tu aplicación intensamente en breve, para corregir trabajos 🙂
Gracias, ya la estoy probando
En un Ubuntu 12.04 da error al intentar arrancar la aplicacion.
Puedes ejecutarlo desde el terminal y pegar aquí la salida. Gracias
File «/usr/bin/updf», line 36, in
from updf import UPDF
File «/usr/share/updf/updf.py», line 30, in
from view import View
File «/usr/share/updf/view.py», line 30, in
import numpy
ImportError: No module named numpy
sudo apt-get install python-numpy
Gracias
sudo apt-get install gir1.2-rsvg-2.0
En Xubuntu 12.04 tampoco arranca. Te dejo la salida de la terminal
ERROR:root:Could not find any typelib for RsvgTraceback (most recent call last): File «/usr/bin/updf», line 36, in from updf import UPDF File «/usr/share/updf/updf.py», line 40, in import widgets File «/usr/share/updf/widgets.py», line 25, in from gi.repository import RsvgImportError: cannot import name Rsvg
Ya está claro:
sudo apt-get install gir1.2-rsvg-2.0
Ya está solucionado. Muchas gracias Lorenzo.
Perfecto, me alegro, en la próxima versión lo corrijo.
Gracias a todos. Disfrutad
En Kubuntu 12.04 no arranca.
ERROR:root:Could not find any typelib for Notify
Traceback (most recent call last):
File «/usr/bin/updf», line 29, in
from gi.repository import Notify
ImportError: cannot import name Notify
Saludos.
Al ser KDE tienes que instalar la siguiente dependencia :
sudo apt-get install gir1.2-appindicator3-0.1
En la próxima versión lo quitaré para evitar problemas.
Gracias
Continua sin funcionar:
updfERROR:root:Could not find any typelib for NotifyTraceback (most recent call last): File «/usr/bin/updf», line 29, in from gi.repository import NotifyImportError: cannot import name Notify
Working now in Kubuntu.
I had to install gir1.2-notify-0.7, and then gir1.2-rsvg-2.0, and then librsvg2-common, and finally python-gi-cairo
Hola Lorenzo.
Esta mañana he estado trabajando en la traducción al español de tu nueva aplicación, uPdf. Está casi completa a excepción de la siguientes lineas (285, 286, 287 y 288) que no se muy bien como traducir.
Además he dejado sin traducir los nombres de los diferentes formatos de hojas, ya que he preferido respetar su nombre original y por el que son conocidos.El problema es que no sé como subirlo al launchpad y me gustaría poder hacértelo llegar. Si puedes explicarme como subirlo o dame alguna dirección de correo al que mandarte el archivo .po.
Un saludo.
Puedes enviar la a través de atareao@atareao.es.
Muchas gracias por tu trabajo.
Lorenzo, claramente y en contraposición con mi reticencia a subir de versión en mi netbook de mi querido natty (por cabezón, chimpón) estas maravillas que realizas me tientan, no sabes cuanto me tientan y que le den mierda a GNOME2 hasta que me acostumbre. Eres un máquina…
Muchas gracias por la parte que me toca. La transición a Gtk+3 es inevitable.
no funciona en kubuntu, parece una falta de dependencias:
updf
ERROR:root:Could not find any typelib for Notify
Traceback (most recent call last):
File «/usr/bin/updf», line 29, in
from gi.repository import Notify
ImportError: cannot import name Notify
Seguí las nuevas indicaciones para Kubuntu y sale esto:
ERROR:root:Could not find any typelib for Notify
Traceback (most recent call last):
File «/usr/bin/updf», line 29, in
from gi.repository import Notify
ImportError: cannot import name Notify
Saludos.
Estimado Lorenzo ami no me arranca, me dar estos errores, ubuntu 12.04 .
Aprovechando a oportunidad para pedirle que es posible agregar losiguientes tamaño de papeles carta 8.5 pulgadas x 11pulgadas, legal 8.5 pulgadas x 13 pulgadas, extra legal 8.5 pulgadas x 14 pulgadas, nicaragua estos papeles usamos mas.
Un saludo
Salida en Kubuntu 12.04=>
Traceback (most recent call last):
File «/usr/bin/updf», line 36, in
from updf import UPDF
File «/usr/share/updf/updf.py», line 30, in
from view import View
File «/usr/share/updf/view.py», line 30, in
import numpy
ImportError: No module named numpy
En WattOs no me va 🙁 En Ubuntu sí. Pero muchas gracias por el programa de verdad.
Hola, es por las dependencias. Si lo ejecutas en el terminal y me indicas puedo añadir las dependencias. Gracias
Muchas gracias por tu trabajo. Lo probaré estos días a ver qué tal va. Tiene muy buena pinta, si señor.
Muchas gracias. Trabaja bien. Se ve bien.
Muchas gracias. Cualquier sugerencia es bienvenida
Hay una versión para Lucid (10.04)?
No. Las librerías que he utilizado para desarrollar uPdf no están disponibles para Lucid
Hola, utilizo Linux Mint 13 Maya, Mate. Me ha guardado el documento en blanco después de marcarlo en amarillo.
También vendría bien el botón de deshacer
está genial!!!! muchisimas gracias, es super util para estudiar
Que grandeeee..!! lo estoy por probar pero no podia dejar de comentar, gracias por tu gran esfuerzo 😀
Muchas gracias @twitter-142652067:disqus , espero tus comentarios. Estoy pendiente de liberar una nueva versión…
Buenas tardes (aquí en mex.) instale uPDF en Ubuntu Raring y al ejecutar en terminal me marca este error:
—
Traceback (most recent call last):
File «/usr/bin/updf», line 36, in
main()
File «/usr/share/updf/updf.py», line 994, in main
main_without_splash_screen()
File «/usr/share/updf/updf.py», line 1002, in main_without_splash_screen
uPDF = UPDF()
File «/usr/share/updf/updf.py», line 238, in __init__
toolbar.set_property(«toolbar_style»,’icons’)
ValueError: invalid literal for int() with base 10: ‘icons’
—
Alguna idea de que puedo hacer?, esperare tu respuesta.. gracias
He encontrado tu herramienta muy útil. Buscaba desesperadamente un editor de PDF que me dejase dibujar rectángulos, circulos y elipses con y sin relleno y me ha costado bastante. He probado mil ya.
En fin, muchas gracias.
Sigues con el desarrollo?
Llevo un tiempo sin trabajar sobre esta herramienta, pero en breve le dedicaré un tiempo. Es probablemente la aplicación que mas me ilusiona de todas.
Hola, buenos días, quisiera saber si aun se puede trabajar con este valioso programa, lo intenté instalar con las instrucciones que aparecen en el artículo pero dice que no se ha podido localizar el paquete updf. Es una lástima si ya no está trabajando en él pues era una alternativa mejor a instalar Foxit que es privativo, espero pueda leer esto y reactivar su trabajo en él, gracias. Por si sirve de algo, por ahora estoy usando en mi laptop Ubuntu 16.04 LTS.