Archivo de la categoría: Aplicaciones

Concatenar varios PDFs en uno.

Debido a que tenia varios PDFs ordenados por nombre tal como se muestra en la imagen, y con la dificultad de la lectura o búsqueda de información, he decidido concatenar-los con gs (Ghostscript).

Para ello desde la consola:

gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=concatenados.pdf mypdf\(01\).pdf mypdf\(02\).pdf mypdf\(03\).pdf mypdf\(04\).pdf mypdf\(05\).pdf mypdf\(06\).pdf mypdf\(07\).pdf mypdf\(08\).pdf mypdf\(09\).pdf mypdf\(10\).pdf mypdf\(11\).pdf mypdf\(12\).pdf mypdf\(13\).pdf mypdf\(14\).pdf mypdf\(15\).pdf mypdf\(16\).pdf mypdf\(17\).pdf mypdf\(18\).pdf mypdf\(19\).pdf mypdf\(20\).pdf mypdf\(21\).pdf mypdf\(22\).pdf mypdf\(23\).pdf mypdf\(24\).pdf mypdf\(25\).pdf mypdf\(26\).pdf mypdf\(27\).pdf mypdf\(28\).pdf mypdf\(29\).pdf mypdf\(30\).pdf mypdf\(31\).pdf mypdf\(32\).pdf mypdf\(33\).pdf mypdf\(34\).pdf mypdf\(35\).pdf mypdf\(36\).pdf mypdf\(37\).pdf mypdf\(38\).pdf mypdf\(39\).pdf mypdf\(40\).pdf mypdf\(41\).pdf mypdf\(42\).pdf mypdf\(43\).pdf mypdf\(44\).pdf mypdf\(45\).pdf mypdf\(46\).pdf mypdf\(47\).pdf mypdf\(48\).pdf mypdf\(49\).pdf mypdf\(50\).pdf mypdf\(51\).pdf mypdf\(52\).pdf mypdf\(53\).pdf mypdf\(54\).pdf mypdf\(55\).pdf mypdf\(56\).pdf mypdf\(57\).pdf mypdf\(58\).pdf mypdf\(59\).pdf mypdf\(60\).pdf mypdf\(61\).pdf mypdf\(62\).pdf mypdf\(63\).pdf mypdf\(65\).pdf mypdf\(66\).pdf mypdf\(67\).pdf mypdf\(68\).pdf mypdf\(69\).pdf mypdf\(70\).pdf mypdf\(71\).pdf mypdf\(72\).pdf mypdf\(73\).pdf mypdf\(74\).pdf mypdf\(75\).pdf mypdf\(76\).pdf mypdf\(77\).pdf mypdf\(78\).pdf mypdf\(79\).pdf mypdf\(80\).pdf mypdf\(81\).pdf mypdf\(82\).pdf mypdf\(83\).pdf mypdf\(84\).pdf mypdf\(85\).pdf mypdf\(86\).pdf mypdf\(87\).pdf mypdf\(88\).pdf mypdf\(89\).pdf

Ahora tengo un solo documento ordenado por titulo y sus marcadores. El espacio ocupado por los PDFs era de unos 21M, sin embargo el tamaño del PDF es ahora de unos 7,6 M.

Saludos!

 

Skype en Debian 8 Jessie amd64

Como instalar Skype en Debian 8 Jessie amd64

Para poder instalarlo debemos añadir la arquitectura i386, para ello ejecutamos:

dpkg --add-architecture i386

Luego actualizamos repositorios:

apt-get update

Una vez hecho esto descargamos el paquete para Debian de la pagina de Skype e instalamos con dpkg:

dpkg -i skype-debian_4.3.0.37-1_i386.deb

Luego ejecutamos:

apt-get install -f

Al ejecutar skype nos dara el error:

skype: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

Lo solucionamos creando un enlace simbolico

ln -s /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 /usr/lib/i386-linux-gnu/

Listo.

 

Gambas, ¿que es? Gambas es un editor visual de Basic, para GNU-Linux

Buena pregunta, Gambas es un editor visual de Basic, para GNU-Linux con licencia GPL.

Basic es un lenguaje de programación de alto nivel y muy fácil de «aprender», yo lo aprendí con 10 años con mi SPECTRUM 48K, aunque si no programas se te va olvidando y algunas instrucciones se me han olvidado.

Gambas30

Por que vuelvo a programar, pues a causa de un curso que estoy haciendo de SQL SERVER, en el cual también damos Visual Basic, y como yo no me puedo quedar amarrado a un Sistema, todo lo que programamos en el curso lo vuelvo a reescribir en Gambas.

Este es uno de los códigos que he escrito para sacar la letra final del DNI.

' Gambas class file

Public Sub Button1_Click()

Dim resultat As Integer

‘Aquí creo una Array e introduzco los datos.

Dim lletres As String[] = [«T», «R», «W», «A», «G», «M», «Y», «F», «P», «D», «X», «B», «N», «J», «Z», «S», «Q», «V», «H», «L», «C», «K», «E»]

‘ esta es la operación simplificada para sacar el numero que da la letra.

resultat = txtnumdni.Text – ((Fix(txtnumdni.Text / 23)) * 23)

‘ Este es el código ( txtlletra.text ) que lo saca por pantalla y este el que compara la letra con el numero ( lletres[resultat] ) , como funciona en la Array hay letras colocadas en filas numeradas hacemos una llamada a la fila y nos da la letra.

txtlletra.text = lletres[resultat]

End

Public Sub Button2_Click()

Me.close

End

Hasta aquí perfecto no, pues bien en el formulario hacen falta dos Button y dos TextBox.

Como podéis ver el código intento que sea lo mas legible posible, y podáis observar como crear Arrays en Gambas a la vez de simplificar el código, otro paso que podía haber hecho era quitar la variable resultado y toda la formula ponerla dentro del Array

Espero tener un poco mas de tiempo para ir colocando proyectos.

 

Cambiar texto de minúsculas a mayúsculas y viceversa.

Cambiar texto de minúsculas a mayúsculas y viceversa  es parte del Curso LPIC-1 (Linux Profesional Institude Certification) Gratis

Linux Professional Institute para el articulo cambiar texto
Linux Professional Institute

Hay veces que al escribir un texto correctamente llega alguien y dice:
-Lo quieren en mayúsculas
y la pregunta
-¿por que?
-Es que así lo ven mas claro
-Sera que no esta claro así, pero bueno lo haré como quieren, posiblemente que sea que con los recortes la impresora solo tenga mayúsculas

Visto todo esto vamos a ver como Cambiar el texto de Minúsculas a Mayúsculas y viceversa por consola

Lo primero crearemos un texto, yo lo hago creando un PIPE (Tubería).

echo ABCDEFGHIJKLMTERWIUOA | tee -a mayusculas

Yo lo he hecho de esta forma ya que no solo crea el archivo si no que también lo puedes visualizar.
O bien lo hacemos así os lo dejo a vuestra elección

echo ABCDEFGHIJKLMTERWIUOA > mayusculas

cat mayusculas

Acto seguido vamos a cambiar texto de mayúsculas a minúsculas

cat mayusculas | tr ‘[:upper:]‘ ‘[:lower:]‘ |tee -a minusculas

o también podemos cambiar texto de mayúsculas a minúsculas

cat mayusculas | tr ‘[:upper:]‘ ‘[:lower:]‘ > minusculas

cat minusculas

para hacerlo al contrario, no vuelvo a crear el archivo ya que tenemos un archivo ya en minúsculas y a cambiar texto

cat minusculas | tr ‘[:lower:]‘ ‘[:upper:]‘ | tee -a mayusculas1

O

cat minusculas | tr ‘[:lower:]‘ ‘[:upper:]‘ > mayusculas1

cat mayusculas1

El archivo de salida lo he echo diferente para que podáis ver las diferencias, bueno ahora ya sabéis como cambiar texto de un archivo enteramente de mayúsculas a minúsculas y viceversa.

Visto esto podemos ver que podemos realizar una función, pero la verdad que son un sin fin de posibilidades las que se pueden hacer.

Podéis consultar el manual de echo, tee y cat de esta forma.

man echo

man tee

man cat

Para salir del manual con q.

Quiero comentar que si lo hacéis de la primera forma y lo volvéis a repetir veréis que la salida se ve incrementada, ya que escribe en el archivo y no lo sobrescribe como pasaría en el caso de la salida estándar con > .

Actualizar ip con no-ip o dyndns

En ciertos momentos tenemos que conectarnos a una maquina que tenemos conectada en casa bien sea un servidor web o nuestra propia maquina, para hacer algún retoque o recuperar el archivo que pensábamos que teníamos en el pen, y, la cual sabemos que esta conectada, así podremos acceder vía web ssh ftp telnet etc o crear un túnel, claro esta la ip es dinámica si no con recordar nuestra ip si es fija tendríamos suficiente. Algunos router tienen una casilla para actualizar automáticamente la ip en caso de cambio, aunque algunos de estos servicios son de pago o caducan, para eso utilizaremos no-ip.
Después de registrarnos en no-ip y elegir nuestro subdominio tenemos que instalar un cliente para notificar que cambiamos de ip.

Como instalar inadyn

sudo apt-get install inadyn

Una vez instalado, tenemos que añadir los datos necesarios para poder actualizar la ip

inadyn --dyndns_system default@no-ip.com -u USER -p PASS -a HOST --background

Ojo con los dobles guiones, cambiaremos USER por nuestro usuario de no-ip.info, PASS por la clave y HOST por nuestro dominio (p.e. atotclic.no-ip.info).
Ahora lo que nos interesa es hacer que cada vez que arrancamos el sistema, se ejecute la llamada a inadyn. Para hacerlo, solo debemos incluir la llamada anterior al fichero

sudo nano /etc/rc.local

hay que añadirlo antes del

exit 0

Podemos verificar que esta funcionando correctamente en

sudo tail /var/log/syslog

INADYN: Started ‘INADYN version 1.96’ – dynamic DNS updater.
I:INADYN: IP address for alias ‘******.no-ip.info’ needs update to ‘******