jueves, 1 de septiembre de 2011

Protegiendo archivos PDF contra copiar/pegar

Recientemente estuve buscando una forma de proteger documentos PDF contra la copia.

Usualmente no me preocupa la copia que le sirva a otros para construir y mejorar, pero me fastidió tener que entregar un documento que se que va a ser utilizado por perezosos que lo recortarán y acomodarán para no tener que trabajar.

En fin, gogleando encontré que GIMP permite tomar un archivo PDF e importarlo en múltiples capas, tantas como páginas tenga el PDF original, o abrirlo página a página, lo cual puede ser engorroso para archivos con gran número de páginas.

Luego de cargar el PDF basta con imprimirlo a archivo, con lo que quedará convertido en imagen. El problema es que, si se cargó como capas, solamente imprimirá la primera página. Mientras que si se cargó como un grupo de imágenes puede ser muy largo imprimirlas una a una y, además, quedan en archivos diferentes cada página. 

Difícil cosa. Por un lado perdemos información y por otro se nos multiplica el trabajo al tener que poner cada una de las páginas convertidas en imágen y ponerlas en un mismo archivo (por ejemplo con LibreOffice) y convertir este en PDF.

Este problema, sin embargo, se resuelve utilizando la consola y el comando convert de GIMP, así:
En la terminal escribimos

     > convert archivo.pdf temporal.jpg

Con esto generamos varios archivos JPG llamados temporal-0.jpg, temporal-1.jpg... y así dependiendo del número de páginas que tenga el archivo PDF original.

Luego, pasamos todos los archivos JPG nuevamente a un único archivo PDF con el comando:

     > convert *.jpg nuevo.pdf

Con lo cual tenemos un nuevo archivo de imágenes en formato PDF sobre el cual 
no se puede hacer copiar/pegar.

Finalmente podemos borrar los archivos JPG generados con: 

     >rm *.jpg

Desde luego que todo esto puede ejecutarse mediante una única línea con todos los comandos.

     > convert archivo.pdf temporal.jpg && convert *.jpg nuevo.pdf && rm *.jpg

Además de esto se puede controlar la calidad de cada archivo JPG que se genera mediante la variación del parámetro -quality del la herramienta convert (consulte el man).





viernes, 10 de junio de 2011

Problem with MergeList /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_natty-updates_universe_i18n_Translation-en

Desde hace varios días perdí la posibilidad de actualizar mi Ubuntu o de instalar programas nuevos. El centro de control dejó de funcionar y el soporte de idiomas ni siquiera arrancaba. Además de esto, Synaptic y el Gestor de actualizaciones me arrojaban el siguiente error.

'E:Encountered a section with no Package: header, E:Problem with MergeList /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_natty-updates_universe_i18n_Translation-en, E:No se pudieron analizar o abrir las listas de paquetes o el archivo de estado.'

Al intentar hacer el update y el upgrade con aptitude o con apt-get, me salía el siguiente error:

E: No se pudo reconstruir el almacén de paquetes
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/co.archive.ubuntu.com_ubuntu_dists_natty_main_i18n_Translation-en

Googleando encontré que este error se debe a la corrupción de listado en /var/lib/apt/lists. Y, la mayoría de las soluciones pasaban por borrar el contenido de este directorio y hacer el update posterior. Las instrucciones eran variaciones de esto:

sudo rm /var/lib/apt/lists/*
sudo apt-get update

En algunos casos encontré que el * lo cambian por us.archive.ubuntu.com*  (en mi caso el servidor está en Colombia, por lo cual debo escribir co.archive.ubuntu.com*). En algunas variaciones  encontré algo más elaborado:

sudo rm /var/lib/apt/lists/*
sudo rm /var/lib/apt/lists/partial/*
sudo apt-get update -f

Ninguna de las soluciones que encontré me sirvió. Al hacer update siempre  me decía que tenía problemas con los encabezados.

Lo resolví de esta forma.Primero...

sudo rm -r /var/lib/apt/lists/*

Con esto borro todo dentro del directorio, incluido un directorio que se llama /partial. Segundo...

Inicio > Administración > Gestor de actualizaciones

Como el gestor me dice que el sistema está actualizado, le doy click en Comprobar y.... volilá. Funcionando todo de nuevo.

Ya volvió a funcionar el Centro de Software... ya pude instalar K3Dsurf (el graficador de funciones matemáticas).  Ya pude actualizar desde el gestor... (no utilicé aptitude ni apt-get, por si las moscas).

martes, 31 de mayo de 2011

Resolviendo problemas con el wifi del HP Pavilion dm1


El segundo problema con el que me encontré al instalar Ubuntu en el pavilion fue que no reconocía la tarjeta de wifi (rt5390sta)

Luego de googlear un rato, después de haber probado cuanta receta mágica existe, y cuando ya estaba casi resignado a utilizar por siempre la conección por cable encontré la siguiente información, aquí:

1. Vamos a página  donde se encuentran (actualizados en el momento en que escribo esto 15 - 07- 2011) los drivers para la tarjeta rt5390sta. Esta es la página.

2. Si nuestro Ubuntu es de 32bit, bajamos todos los parches, menos el "rt5390sta-2.4.0.4-gcc-warnings-x86_64.patch" (Desde luego que si tenemos un 64 bit, habrá que bajarlo también).  

3. Bajamos el archivo comprimido "2010_1216_RT5390_LinuxSTA_V2.4.0.4_WiFiBTCombo_DPO.tar.bz2", y lo descomprimimos (con lo cual se crea una carpeta con el mismo nombre).
Copiamos todos los archivos del parche dentro de la carpeta que acabamos de crear. 
Nos metemos en la carpeta( 2010_1216_RT........) luego en la carpeta "so", luego en la carpeta "linux" y buscamos el archivo "config.mk". Cambiamos el valor de HAS_ANTENNA_DIVERSITY_SUPPORT=y (viene con "n" en el archivo original), y guardamos. 
Ahora abrimos una terminal, nos pasamos a la carpeta que creamos, donde tenermos  los parches y lo que hemos descomprimido. Entonces ejecutamos:
   patch -p0 < rt5390sta-2.4.0.4-config.patch
   patch -p0 < rt5390sta-2.4.0.4-convert-devicename-to-wlanX.patch
   patch -p0 < rt5390sta-2.4.0.4-reduce_debug_output.patch
   patch -p0 < rt5390sta-2.4.0.4-remove-potential-conflicts-with-rt2860sta.patch
   patch -p0 < rt5390sta-2.4.0.4-return_nonvoid_function.patch
   patch -p0 < rt5390sta-2.4.0.4-WPA-mixed.patch
   sudo su
   cp RT2860STA.dat RT5390STA.dat
   mkdir -p /etc/Wireless/RT5390STA
   cp RT5390STA.dat /etc/Wireless/RT5390STA
   make clean
   make
   make install
   modprobe rt5390sta
   exit
Con esto se debe activar inmediatamente el wifi (a mi me funcionó inmediatamente).