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 apt-get install build-essential gcc-4.3 g++-4.3

Adicionalmente hay que instalar unas librerías de desarrollo:

$ sudo apt-get install libungif4-dev libjpeg62-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

Si quieres compilar para Windows, puedes hacerlo desde Linux usando MingW:

$ sudo apt-get install mingw32

Y luego compilar de esta forma:

$ ./configure --host=i686-pc-mingw32

Dará un error pq faltan librerías, como por ejemplo zlib. Para instalar estas librerías compiladas para Windows visita http://mxe.cc/.

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)
Anuncios
Categorías:Ubuntu
  1. octubre 6, 2013 en 5:35 pm

    Capo eres un crack… estoy intentando hacer portable el pdf2swf pero no logro conseguirlo, agradecería muchisimo tu ayuda… si pudieras detallar los pasos que habría que seguir para lograrlo te lo agradeceria

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: