Inicio > Ubuntu > Compilar pdf2swf con soporte para PDF protegidos

Compilar pdf2swf con soporte para PDF protegidos

Existe una herramienta maravillosa que hace la magia de convertir un PDF a SWF (Flash, para que nos entendamos). Si has usado la herramienta habrás comprobado que no funciona con documentos PDF protegidos dando este error:

FATAL   PDF disallows copying

Pero gracias a que tenemos acceso al código fuente de la aplicación, podemos lo modificar para que se salta dicha comprobación. En concreto tenemos que editar el fichero lib/pdf/pdf.cc y comentar las líneas 136 y 137:

if(!pi->config_print && pi->nocopy) {msg("<fatal> PDF disallows copying");exit(0);}
if(pi->config_print && pi->noprint) {msg("<fatal> PDF disallows printing");exit(0);}}

La versión de GCC que viene por defecto en Lucid Lynx (GCC-4.4) no se lleva bien con el código fuente de SWFTools 0.9.0 por lo que tenemos que instalar una versión anterior:

$ sudo aptitude install build-essential gcc-4.3 g++-4.3

Adicionalmente hay que instalar unas librerías de desarrollo:

$ sudo aptitude install libungif4-dev libfreetype6-dev

Y ya que estamos lo compilamos estático para que corra sin problemas en cualquier otro Linux.

$ CC=/usr/bin/gcc-4.3 CXX=/usr/bin/g++-4.3 LDFLAGS="-static" ./configure

Más información en:  http://www.foolabs.com/xpdf/cracking.html

Actualización: En la versión 0.9.1 hay que modificar el fichero src/jpeg.c cambiando la línea

int jpeg_load_from_mem(unsigned char*_data, int size, unsigned char*dest, int width, int height)

por esta otra:

int jpeg_load_from_mem(unsigned char*_data, int size, unsigned char**dest, int *width, int *height)

Advertisement
Categorías:Ubuntu
  1. Aún no hay comentarios.
  1. Aún no hay trackbacks

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.