Ikasten.IO
Learning, Aprendiendo

Protecciones idiotas 21 abril, 2009

No entiendo la dichosa manía que tienen algunos de usar formularios PDF para hacernos rellenar información vía web y hacer que éstos formularios NO PERMITAN ser guardados CONSERVANDO lo que has tecleado en los campos. Es algo que me saca de mis casillas. Más aún cuando esos formularios provienen de la administración pública (tercera vez que me pasa). Ni qué decir tiene que cuando protegen el PDF para que no pueda ser impreso o ni siquiera para permitir el copy&paste del texto, siendo, repito, un PDF expresamente orientado a que los ciudadanos/usuarios lo rellenen, cumplimenten o copien, es como para desquiciarse. ¿Lo hacen aposta? O lo que es peor, ¿ni siquiera saben lo que están haciendo? ¿Publican ficheros PDF protegidos sin tener ni la más remota idea de qué es eso de “protegidos” o qué botoncito hay que pulsar en su querido Adobe Acrobat/Adobe Live Cycle para hacerlos accesibles?

¿Saben que lo que hacen es una protección que NO SIRVE MÁS QUE PARA MOLESTAR porque puede ser saltada fácilmente?

Hoy me he encontrado en la necesidad de rellenar uno de esos formularios PDF del diablo, protegido para que no se puedan guardar los textos que ya has tecleado en los campos correspondientes (¿he dicho ya que esto es una protección idiota?). La solución parecía trivial: lo cumplimento, lo imprimo a fichero .ps y luego lo convierto a .pdf. Nada más lejos de la realidad:

$ ps2pdf ficherodeldiablo.ps
This PostScript file was created from an encrypted PDF file.
Redistilling encrypted PDF is not permitted.

¿QUÉÉÉÉÉÉÉÉÉ?  ¿Un postscript protegido? ¿Nos hemos vuelto todos locos o qué?

Bien, la segunda idea:  abrimos el .ps con el GIMP, lo guardamos como .ps con otro nombre y volvemos a intentarlo. Nones. El GIMP (2.6) se cuelga con el ficherodeldiablo.ps.

Vale, saquemos las armas gordas:

$ locate gs_pdfwr.ps

/usr/share/ghostscript/8.63/lib/gs_pdfwr.ps

$ sudo vi /usr/share/ghostscript/8.63/lib/gs_pdfwr.ps

Buscamos lo siguiente:

% Patch ‘where’ so that the distiller operators are only visible
% if the pdfwrite device is the current one.
{ currentdevice .devicename dup /pdfwrite eq exch /ps2write eq or{

Donde pone /pdfwrite lo sustituímos por /pdfXYZwrite  (o por cualquier otra cosa). Queda así:

% Patch ‘where’ so that the distiller operators are only visible
% if the pdfwrite device is the current one.
{ currentdevice .devicename dup /pdfXYZwrite eq exch /ps2write eq or{

Grabamos y salimos. Adiós, protecciones idiotas, adiós.

$ ps2pdf ficherodeldiablo.ps

$ evince ficherodeldiablo.pdf

PD: ¿y cómo quito las protecciones anti/impresión y anti copy/paste? Así

  • nx dice:

    ¿Dónde puedo encontrar uno de esos formularios PDF para probar…?

  • admin dice:

    Aquí un ejemplo con PROTECCIÓN de la administración pública más grande del mundo:

    http://www.whitehouse.gov/omb/grants/sf269.pdf

    Aquí un ejemplo SIN protección:

    http://www.irs.gov/pub/irs-pdf/fw9.pdf

  • carlosgc dice:

    Por que no usas evince directamente para rellenar los formularios? a mi me ha funciuonado sin problemas con:

    http://www.whitehouse.gov/omb/grants/sf269.pdf

  • admin dice:

    @carlos: Evince permite cumplimentar un formulario, ok, pero ¿permite grabar el PDF manteniendo lo que ya has cumplimentado? Esa es la funcionalidad que busco 🙂

  • bingen dice:

    mas que protección idiota es protección para idiotas. Me explico. ese mismo documento puede usarlo el trabajador de turno encargado de rellerarlos. si no lo protegieran seguro q mas de una vez lo guardaría y se quedarían sin plantilla “limpia”
    Aparte de eso. completamente de acuerdo. Siempre me han tocado las narices esos formularios. Sobre todo cuando es un formulario q debes rellenar periódicamente, cambiando solo fecha, referencia de la oferta y poco mas…

  • Josema dice:

    Es un problema de licencias…jejjejje. Por esa “funcionalidad” para PDF Adobe cobra y hasta hace bien poco, una pasta gansa.

  • admin dice:

    Sin contar las hora que pierden los ciudadanos/usuarios intentando grabar en PDF lo que han hecho, sólo lo que se gasta en papel (supongamos, un suponer, unas oposiciones en las que hay que cumplimentar el PDF online, con la protección señalada. Pongámosle Xmil ciudadanos, que lógicamente – no hay otra opción – van a imprimir el formulario – digamos que 4 páginas. Salen 4*2*X mil copias, tirando por lo bajo – el *2 lo pongo porque hay que entregar una copia pero seguro que otra te la imprimes para tener de justificante)

    Dejando de lado las situaciones en que tras terminar de teclear el usuario se da cuenta de que en cuanto salga del PDF va a perder todo lo que ha tecleado y otras historias… multiplica lo anterior por CADA vez que algún ciudadano/usuario va a tener que pasar por el aro del formulario PDF protegido. Hacen un total de Xmil € ..

    Conclusiones: usar software libre en lugar de tener que pagar licencias para todo (por el LiveCycle no quiero ni saber cuánto…) En el peor de los casos: comprar la licencia, pero nunca dejar un PDF para cumplimentar protegido contra escritura. Es demencial.

  • Juanmi dice:

    Completamente de acuerdo contigo admin.

    PD: muy bueno ficherodeldiablo.ps 🙂

  • Josema dice:

    ummm,
    el tema de licencias, coste, ecología, papel, utilidad para el ciudadano es evidente. El problema es que hasta ahora el interés de la administración pública por ese tipo de soluciones era escaso y chocaba seriamente con la política de precios que tenían los principales desarrolladores de soluciones. Afortunadamente esto esta cambiando y lo que hasta hace bien poco costaba la friolera de M€ ahora por unos pocos miles (<30.000€) tienes la plataforma y una solución integrada con tus sistemas.
    Solo falta un detalle, que alguien le diga a estas administraciones públicas que compren menos Office y XP’s e inviertan mas en soluciones adecuadas para los ciudadanos y que conste que no defiendo la solución específica de Adobe aun pareciéndome la mas fácilmente implantable y de mejor calidad/precio.
    No es lógico que pongan en una web de la administración pública un PDF generado con un acrobat pirata (os quedaríais asustados de los datos que maneja Adobe España al respecto) y que con eso se consideren así mismos que ya son administración electrónica. El PDF es una solución muy válida para acercar al ciudadano muchos procesos que hasta ahora se hacían en ventanilla y que tecnológicamente permiten una integración total con prácticamente cualquier sistema de información.
    Y aunque parezca lo contrario, no pretendo vender nada y estoy seguro que otros fabricantes y desarrolladores tienen soluciones incluso mejores que las de Adobe. El problema es mas bien del desconocimiento y el poco interés por parte de las AAPP.

    En el caso que comentas, la solución era muy fácil, Acrobat pro, peeeeeero solo para Windows y previo pago de los 300-400€

    Saludos!

  • Josema dice:

    [off the record y que no se entere nadie]

    La Generalitat y la CF de Navarra en un futuro muuuuy cercano estarán (si no lo están ya) con una plataforma que permite hacer eso que pides.

    Pero no se lo contéis a nadie que es secreto 😉

  • admin dice:

    @Josema: muy interesante lo que cuentas.
    Como decía, yo primaría soluciones libres y sólo si ésto no es posible, entonces comprar soluciones privativas. Pero comprarlas, no piratearlas ni quedarse a medias.

    Off the record también, ahora que no nos oye nadie 😉 : ¿tienes alguna relación con Adobe? (ya digo que tus argumentos me parecen válidos e incluso los comparto, pero el nivel de detalle que das en la información me hace pensar que controlas/usas o vendes estos productos 🙂

  • Inigo dice:

    ¿Y alguna forma para hacer esto con OpenOffice? Porque lo he buscado varias veces y nunca he encontrado nada (me refiero a que los formularios pdf creados con OOo sean guardables, claro).

  • dani dice:

    Hola:
    Curiosamente hoy me he topado con uno de estos formularios.
    Además tenía que añadir mi firma, la tengo en un .jpg.
    En mi caso fue muy fácil.
    Usé el openoffice3 lo habrió perfectamente, modifique lo que quise, incluí mi firma en .jpg donde quise, lo guardé en formago .odg y lo pasé a .pdf con la información en cuestión.
    Fácil y sencillo!!

  • SuperPollo dice:

    @dani Estoy intentando abrir http://www.whitehouse.gov/omb/grants/sf269.pdf con OpenOffice.org 3.0.0 en Linux y no puede 🙁

  • Mini Min dice:

    He abierto evince con el pdf que enlazan # carlosgc y # SuperPollo. Despues de llenar un par de casillas le doy a imprimir… —>PDF
    y en la carpeta PDF de mi home tengo el pdf, con el nombre evince-print.pdf, con las casillas que escribí, en formato GPL Ghostscript 8.61. Actualmente utilizo ubuntu 8.04.
    De todas formas el las propiedades del archivo que enlazáis pone “seguridad: No”

    Una amiga no podía imprimir un pdf en windows. Hice lo mismo y no tuvo problema.

    Saludos

  • Logan dice:

    Bueno entiendo de lo hablan y aunque las soluciones que mencionan son buenas, en ocasiones la opción más simple es la correcta, en algunos documentos se puede que una vez llenado el documento en lugar de guardar una copia, vamos a Archivo>Imprimir (Ctrl + P) y en lugar de usar la impresora lo imprimimos a un documento. Yo lo hago con el visor de documentos de Ubuntu, lo puedes imprimir directamente en PDF solo que ya quedara con los cambios que le hiciste en el archivo –» salida.pdf (puedes cambiarle el nombre, este es el default)

  • Capitán Trueno dice:

    # Logan: los pdf de los que hablamos NO se puden imprimir de l forma que dices ya que se escupe un mensjae tal que: Redistilling encrypted PDF is not permitted.

    podemos pasarlo a ps, eso sí se puede y para una versión 1.6 de pdf hay que quitarle al archivo este trozo que sigue, los ceros son ristra hexadecimales

    %ADOBeginClientInjection: DocumentSetup Start “No Re-Distill”
    %% Removing the following eleven lines is illegal, subject to the Digital Copyright Act of 1998.
    mark currentfile eexec
    000000000000000000000000000000000000000000000000000000000000
    000000000000000000000000000000000000000000000000000000000000
    000000000000000000000000000000000000000000000000000000000000
    000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000001
    000000000000000000000000000000000000000000000000000000000000
    000000000000000000000000000000000000000000000000000000000000
    000000000000000000000000000000000000000000000000000000000000
    000000000000000000000000000000000000000000000000000000000000
    cleartomark
    %ADOEndClientInjection: DocumentSetup Start “No Re-Distill”

Deja un comentario

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