uPdf, una aplicación para modificar archivos pdf

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…

uPdf
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.

0192_uPdf
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.
0191_uPdf

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:

0193_uPdf

Y el siguiente es para seleccionar el tipo de letra

0194_uPdf

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.

0195_uPdf

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:

0196_uPdf

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.

39 comentarios en “uPdf, una aplicación para modificar archivos pdf

  1. FE
    Felipe Perucho hace 12 años

    Gracias por tu trabajo… Empezaré a probar tu aplicación intensamente en breve, para corregir trabajos 🙂

  2. DA
    daniel hace 12 años

    Gracias, ya la estoy probando

  3. EN
    Engel hace 12 años

    En un Ubuntu 12.04 da error al intentar arrancar la aplicacion.

    1. EL
      El atareao hace 12 años

      Puedes ejecutarlo desde el terminal y pegar aquí la salida. Gracias

      1. EN
        Engel hace 12 años

        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

  4. BE
    Betico84 hace 12 años

    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

      1. BE
        Betico84 hace 12 años

        Ya está solucionado. Muchas gracias Lorenzo.

        1. EL
          El atareao hace 12 años

          Perfecto, me alegro, en la próxima versión lo corrijo.
          Gracias a todos. Disfrutad

  5. CO
    Comentador hace 12 años

    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.

    1. EL
      El atareao hace 12 años

      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

      1. AV
        avlas hace 12 años

        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

        1. AV
          avlas hace 12 años

          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

  6. BE
    Betico84 hace 12 años

    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.

  7. JO

    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…

    1. EL
      El atareao hace 12 años

      Muchas gracias por la parte que me toca. La transición a Gtk+3 es inevitable.

  8. AV
    avlas hace 12 años

    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

    1. CO
      Comentador hace 12 años

      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.

  9. HU
    hungaro hace 12 años

    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

  10. TO
    Tomato hace 12 años

    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

  11. PA
    Pablo Briones Bas hace 12 años

    En WattOs no me va 🙁 En Ubuntu sí. Pero muchas gracias por el programa de verdad.

    1. EL
      El atareao hace 12 años

      Hola, es por las dependencias. Si lo ejecutas en el terminal y me indicas puedo añadir las dependencias. Gracias

  12. FE
    Fernando T hace 12 años

    Muchas gracias por tu trabajo. Lo probaré estos días a ver qué tal va. Tiene muy buena pinta, si señor.

  13. JU
    juvenal salinas hace 12 años

    Muchas gracias. Trabaja bien. Se ve bien.

  14. RO
    rolly hace 12 años

    Hay una versión para Lucid (10.04)?

    1. EL
      El atareao hace 12 años

      No. Las librerías que he utilizado para desarrollar uPdf no están disponibles para Lucid

  15. MI
    Mintero hace 12 años

    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

  16. US
    user8989 hace 12 años

    está genial!!!! muchisimas gracias, es super util para estudiar

  17. GU
    Gudu Chango hace 12 años

    Que grandeeee..!! lo estoy por probar pero no podia dejar de comentar, gracias por tu gran esfuerzo 😀

    1. EL
      El atareao hace 12 años

      Muchas gracias @twitter-142652067:disqus , espero tus comentarios. Estoy pendiente de liberar una nueva versión…

  18. GO
    Gonzalo Rojas hace 11 años

    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

  19. DA
    daimon hace 11 años

    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.

    1. DA
      daimon hace 11 años

      Sigues con el desarrollo?

      1. EL
        El atareao hace 11 años

        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.

  20. NE
    Neburzet hace 8 años

    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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *