PreguntasLinux

Versión Completa: [howto] PDF Hack
Actualmente estas viendo una versión simplificada de nuestro contenido. Para ver la versión completa en el formato correcto, dale click aquí
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:

Código:
$ 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:

Código:
$ pdftops Informe.pdf Informe.ps

luego

Código:
$ pstopdf Informe.ps Informe_sin_restricciones.pdf

De esa manera cuando vuelvan a verificar con pdfinfo veran que ya no presenta ninguna restricción:

Código:
$ 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:

Código:
$ 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:

Código:
$ 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.

Baires Norte Lug
Licencia Creative Commons BY-NC-SA 2.5 AR.

http://www.pdfhacks.com/pdftk
http://pdfcrack.sourceforge.net
http://www.accesspdf.com

URLs de Referencia