Jugando con documentos PDF


pdf.png

El siguiente texto surgió por una necesidad de mi hermano. Necesitaba editar un reporte generado en PDF y no daba con la herramienta adecuada.
Las existentes son propietarias y caras como el Adobe Acrobat Writer.
Investigando un poco di con pdf toolkit. Un set de herramientas de consola sumamente utiles que nos permite:

  • Combinar documentos PDF
  • Separar las paginas PDF en un documento nuevo
  • Descifrar un documento (se necesita contraseña)
  • Cifrar el documento resultante
  • Descomponer un documento PDF en páginas sueltas
  • Obtener información de las características del PDF, incluyendo metadatos y marcadores
  • Descomprimir y volver a comprimir paginas
  • Reparar un PDF corrupto (siempre y cuando sea posible)

Primero instalemos las herramientas necesarias:
En todas las distros de Linux se van a encontrar con las PDF toolkit en los repositorios.
Para distros basadas en Debian es tan fácil como hacer:
apt-get install pdftk
Al cabo de unos segundos lo tendrán instalado.

Comencemos a trabajar:
Mi hermano me entrega el documento en cuestión,
Infome.pdf

Primero vamos a analizar el documento:
$ pdfinfo Informe.pdf
Title: Microsoft Word – Informe.doc
Author: Martin
Creator: PScript5.dll Version 5.2
Producer: Acrobat Distiller 6.0 (Windows)
CreationDate: Tue Mar 11 10:24:16 2008
ModDate: Tue Mar 11 10:31:58 2008
Tagged: no
Pages: 93
Encrypted: yes (print:yes copy:no change:no addNotes:no)
Page size: 595 x 842 pts (A4)
File size: 626733 bytes
Optimized: yes
PDF version: 1.5
Claramente vemos que el documento esta protegido contra copia, cambios y agregar notas.
Aqui recide el problema ya que lo que quería hacer era obtener el texto del informe y ningún lector PDF como Foxit o el misimo acrobat reader le dejaba (obviamente).
La solución fue Evince que lo dejo abrir y copiar a un documento sin ningún problema.
Otra solución posible hubiera sido copiar el archivo a formato ps (poscript) y luego volver a convertirla a pdf.
Ejemplo:
$ pdftops Informe.pdf Informe.ps
luego
$ pstopdf Informe.ps Informe_sin_restricciones.pdf
De esa manera cuando vuelvan a verificar con pdfinfo veran que ya no presenta ninguna restricción:
$ pdfinfo Informe_sin_restricciones.pdf
Producer: GPL Ghostscript SVN PRE-RELEASE 8.61
CreationDate: Mon Mar 17 22:34:52 2008
ModDate: Mon Mar 17 22:34:52 2008
Tagged: no
Pages: 93
Encrypted: no
Page size: 595 x 842 pts (A4)
File size: 756999 bytes
Optimized: no
PDF version: 1.4

En vez de utilizar Evince para extraer el texto se podria haber hecho lo siguiente:
$ pdftotext Informe_sin_restricciones.pdf texto.txt
Ahora si tenia password para poder abrirlo ya es otro cantar.
Ahi sí nos va a llevar un tiempo, ya que tenemos que usar otra herramienta para poder crackerla, pdfcrack.

Hasta ahora mi hermano estaba más que contento ya que tenia el texto, lo podía formatear y cambiar como a el le guste pero todavia necesitaba algo más ya que el documento contenía también gráficos.
Para poder extraer los gráficos hice lo siguiente:
$ pdfimage -j Informe_sin_restricciones.pdf imagen
El resultado fue una serie de archivos jpg conteniendo todos los gráficos (imagen001.jpg, imagen002.jpg, etc)
Ahora sí, ya tenemos totalmente desglosado el pdf con el texto y los gráficos separados para poder ser reutilizados en otros informes o presentaciones.

Una vez mas queda demostrado que las herramientas libres son potentes y en muchos casos superan a las propietarias.

Si quieren obtener mayor información sobre la utilización y posibilidades de esta maravilla, pueden consultar aquí:
http://www.pdfhacks.com/pdftk/

ESTE TEXTO SE PUBLICA BAJO LICENCIA CREATIVE COMMONS BY-NC-SA 2.5 AR.

Por lo tanto, usted es libre de: 1) Copiarlo, distribuirlo y exhibirlo. 2) Hacer obras derivadas. Bajo las siguientes condiciones: 1) Debe dar atribución mencionando el nombre del autor y del LUG Zona Norte. En caso de las notas que no llevan firma, mencionar sólo el nombre del LUG.
2) Usted no puede usar esta obra con fines comerciales. 3) Si usted altera, transforma, o crea sobre este texto, sólo podrá distribuir la obra derivada resultante bajo una licencia idéntica a ésta.

Más detalles y texto legal de la licencia en: http://creativecommons.org/licenses/by-nc-sa/2.5/ar

  1. #1 by lxcds on 28/06/2009 - 19:55

  2. #2 by Nannu on 11/02/2010 - 0:25

    jaja… no se puede acaso editar archivos PDF con OO.o?

  3. Avatar of sechole

    #3 by sechole on 16/02/2010 - 1:13

    Sí se puede, con la siguiente extensión:
    http://extensions.services.openoffice.org/en/project/pdfimport

(will not be published)

IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)

What is 7 + 12 ?
Please leave these two fields as-is: