commit c01c2ae5f3af581423ebc32d37103a03c5ea2ca2 Author: luisgulo Date: Sun Feb 9 16:26:03 2025 +0100 Version final diff --git a/DNI_v3-anverso-MarcaAgua.jpg b/DNI_v3-anverso-MarcaAgua.jpg new file mode 100644 index 0000000..142e806 Binary files /dev/null and b/DNI_v3-anverso-MarcaAgua.jpg differ diff --git a/DNI_v3-anverso-protegido.jpg b/DNI_v3-anverso-protegido.jpg new file mode 100644 index 0000000..7b5164f Binary files /dev/null and b/DNI_v3-anverso-protegido.jpg differ diff --git a/DNI_v3-anverso.png b/DNI_v3-anverso.png new file mode 100644 index 0000000..2663540 Binary files /dev/null and b/DNI_v3-anverso.png differ diff --git a/DNI_v3-reverso-MarcaAgua.jpg b/DNI_v3-reverso-MarcaAgua.jpg new file mode 100644 index 0000000..a1072e1 Binary files /dev/null and b/DNI_v3-reverso-MarcaAgua.jpg differ diff --git a/DNI_v3-reverso-protegido.jpg b/DNI_v3-reverso-protegido.jpg new file mode 100644 index 0000000..b3dc440 Binary files /dev/null and b/DNI_v3-reverso-protegido.jpg differ diff --git a/DNI_v3-reverso.png b/DNI_v3-reverso.png new file mode 100644 index 0000000..5f8c1cb Binary files /dev/null and b/DNI_v3-reverso.png differ diff --git a/DNI_v4-anverso-protegido.jpg b/DNI_v4-anverso-protegido.jpg new file mode 100644 index 0000000..a570ac6 Binary files /dev/null and b/DNI_v4-anverso-protegido.jpg differ diff --git a/DNI_v4-anverso.png b/DNI_v4-anverso.png new file mode 100644 index 0000000..0750efa Binary files /dev/null and b/DNI_v4-anverso.png differ diff --git a/DNI_v4-reverso-protegido.jpg b/DNI_v4-reverso-protegido.jpg new file mode 100644 index 0000000..9990a9b Binary files /dev/null and b/DNI_v4-reverso-protegido.jpg differ diff --git a/DNI_v4-reverso.png b/DNI_v4-reverso.png new file mode 100644 index 0000000..3b5587f Binary files /dev/null and b/DNI_v4-reverso.png differ diff --git a/DNIs-REALES/alicia-anverso-MarcaAgua.jpg b/DNIs-REALES/alicia-anverso-MarcaAgua.jpg new file mode 100644 index 0000000..61d8f9b Binary files /dev/null and b/DNIs-REALES/alicia-anverso-MarcaAgua.jpg differ diff --git a/DNIs-REALES/alicia-anverso.png b/DNIs-REALES/alicia-anverso.png new file mode 100644 index 0000000..a57b493 Binary files /dev/null and b/DNIs-REALES/alicia-anverso.png differ diff --git a/DNIs-REALES/alicia-reverso-MarcaAgua.jpg b/DNIs-REALES/alicia-reverso-MarcaAgua.jpg new file mode 100644 index 0000000..4b8c9d6 Binary files /dev/null and b/DNIs-REALES/alicia-reverso-MarcaAgua.jpg differ diff --git a/DNIs-REALES/alicia-reverso.png b/DNIs-REALES/alicia-reverso.png new file mode 100644 index 0000000..b3bfded Binary files /dev/null and b/DNIs-REALES/alicia-reverso.png differ diff --git a/DNIs-REALES/diego-anverso.png b/DNIs-REALES/diego-anverso.png new file mode 100644 index 0000000..8810ff3 Binary files /dev/null and b/DNIs-REALES/diego-anverso.png differ diff --git a/DNIs-REALES/diego-reverso.png b/DNIs-REALES/diego-reverso.png new file mode 100644 index 0000000..6a1c2ba Binary files /dev/null and b/DNIs-REALES/diego-reverso.png differ diff --git a/DNIs-REALES/luis-anverso-MarcaAgua.jpg b/DNIs-REALES/luis-anverso-MarcaAgua.jpg new file mode 100644 index 0000000..2ab2def Binary files /dev/null and b/DNIs-REALES/luis-anverso-MarcaAgua.jpg differ diff --git a/DNIs-REALES/luis-anverso.png b/DNIs-REALES/luis-anverso.png new file mode 100644 index 0000000..731bd90 Binary files /dev/null and b/DNIs-REALES/luis-anverso.png differ diff --git a/DNIs-REALES/luis-reverso-MarcaAgua.jpg b/DNIs-REALES/luis-reverso-MarcaAgua.jpg new file mode 100644 index 0000000..2b70fd3 Binary files /dev/null and b/DNIs-REALES/luis-reverso-MarcaAgua.jpg differ diff --git a/DNIs-REALES/luis-reverso.png b/DNIs-REALES/luis-reverso.png new file mode 100644 index 0000000..643245b Binary files /dev/null and b/DNIs-REALES/luis-reverso.png differ diff --git a/DNIs-REALES/pilar-anverso-MarcaAgua.jpg b/DNIs-REALES/pilar-anverso-MarcaAgua.jpg new file mode 100644 index 0000000..dc87d45 Binary files /dev/null and b/DNIs-REALES/pilar-anverso-MarcaAgua.jpg differ diff --git a/DNIs-REALES/pilar-anverso.png b/DNIs-REALES/pilar-anverso.png new file mode 100644 index 0000000..19c4a6f Binary files /dev/null and b/DNIs-REALES/pilar-anverso.png differ diff --git a/DNIs-REALES/pilar-reverso-MarcaAgua.jpg b/DNIs-REALES/pilar-reverso-MarcaAgua.jpg new file mode 100644 index 0000000..d2717a7 Binary files /dev/null and b/DNIs-REALES/pilar-reverso-MarcaAgua.jpg differ diff --git a/DNIs-REALES/pilar-reverso.png b/DNIs-REALES/pilar-reverso.png new file mode 100644 index 0000000..112bbc2 Binary files /dev/null and b/DNIs-REALES/pilar-reverso.png differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..5febc49 --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# Proteger DNI para envío + +Script Bash para enviar/compartir el DNI por medios electrónicos de forma segura. + +* Crea bloque ocultando zonas de información. +* Escribe texto sobre la imagen. +* Genera resultado en "tonos grises". +* Utiliza `convert` (parte del programa ImageMagick para transformar imagenes). +* Usa `zenity` para pedir datos. + +![](cabecera-dni.png) + +## Paquetes necesarios + +Instalar `convert` y `zenity` + +``` +sudo apt update +sudo apt -y upgrade + +sudo apt -y install imagemagick zenity +``` + +## Uso protección completa + +Simplemente desde la consola "invoca" al script: + +``` +./protege-dni.sh +``` + +## Uso con 'Marca de agua' + +Simplemente desde la consola ejecuta el script: + +``` +./protege-dni-MarcaAgua.sh +``` + +En ambos casos saldrá asistente para seleccionar cada cara del DNI a proteger + +![](imagenes/seleccione-anverso.png) + +![](imagenes/seleccione-reverso.png) + +El resultado dependiendo del script usado será: + +![](DNI_v3-anverso-protegido.jpg) + +![](DNI_v3-anverso-MarcaAgua.jpg) + diff --git a/cabecera-dni.png b/cabecera-dni.png new file mode 100644 index 0000000..5e10bdf Binary files /dev/null and b/cabecera-dni.png differ diff --git a/dni-3-0-vs-dni-4-0.jpg b/dni-3-0-vs-dni-4-0.jpg new file mode 100644 index 0000000..600c841 Binary files /dev/null and b/dni-3-0-vs-dni-4-0.jpg differ diff --git a/imagenes/seleccione-anverso.png b/imagenes/seleccione-anverso.png new file mode 100644 index 0000000..53e3dfc Binary files /dev/null and b/imagenes/seleccione-anverso.png differ diff --git a/imagenes/seleccione-reverso.png b/imagenes/seleccione-reverso.png new file mode 100644 index 0000000..3b93e0e Binary files /dev/null and b/imagenes/seleccione-reverso.png differ diff --git a/protege-dni-MarcaAgua.sh b/protege-dni-MarcaAgua.sh new file mode 100755 index 0000000..726ef15 --- /dev/null +++ b/protege-dni-MarcaAgua.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# Tamano oficial DNI (3.0 y 4.0) es 85,60x53,98 mm + +# Solicitar ficheros origen del DNI (Anverso y Reverso) +zenity --info --text="Seleccione la imagen con el ANVERSO" +ANVERSO=$(zenity --file-selection) +zenity --info --text="Seleccione la imagen con el REVERSO" +REVERSO=$(zenity --file-selection) + +# Ficheros temporales (escalado) +AnvTMP="${ANVERSO%.*}-tmp.jpg" +RevTMP="${REVERSO%.*}-tmp.jpg" + +# Ficheros Salida +AnvIMG="${ANVERSO%.*}-MarcaAgua.jpg" +RevIMG="${REVERSO%.*}-MarcaAgua.jpg" + +# Anverso Zona de Bloques de ocultacion +CAN='800,370,1000,605' +SOPORTE='400,440,570,485' +# Reverso Zona de Bloques de ocultacion +EQUIPO='5,177,100,355' +PADRES='280,317,620,376' +IDE='50,430,980,520' + +# Pedimos texto al usuario +TEXTO=$(zenity --entry --text="Escriba el mensaje a poner en la imagen" --entry-text="** SOLO PARA VERIFICACION EMPRESA **") + +# Temporales Escalados +echo "Preparando Imagenes temporales (escaladas).." +convert "$ANVERSO" -resize 1011x638 -units PixelsPerInch -density 150 "$AnvTMP" 2>/dev/null +convert "$REVERSO" -resize 1011x638 -units PixelsPerInch -density 150 "$RevTMP" 2>/dev/null + +echo "Ocultando, fijando texto y escala gris en ANVERSO" +#convert "$AnvTMP" -font courier -fill blue -pointsize 40 -gravity center -annotate 0 "$TEXTO" -units PixelsPerInch -density 150 "$AnvIMG" +convert "$AnvTMP" -font courier -fill blue -pointsize 40 -density 80 -gravity center -annotate 0 "$TEXTO" -units PixelsPerInch -density 150 "$AnvIMG" + +echo "Ocultando, fijando texto y escala gris en REVERSO" +#convert "$RevTMP" -font courier -fill blue -pointsize 40 -gravity center -annotate 0 "$TEXTO" -units PixelsPerInch -density 150 "$RevIMG" +convert "$RevTMP" -font courier -fill blue -pointsize 40 -density 80 -gravity center -annotate 0 "$TEXTO" -units PixelsPerInch -density 150 "$RevIMG" + +echo "Limpiando temporales..." +rm "$AnvTMP" "$RevTMP" + +echo +echo "-----------------------------------------------" +echo "Imagenes de DNI Listas y protegidas para envio" +echo " Anverso: $AnvIMG" +echo " Reverso: $RevIMG" +echo "-----------------------------------------------" +echo + diff --git a/protege-dni.sh b/protege-dni.sh new file mode 100755 index 0000000..b9937e6 --- /dev/null +++ b/protege-dni.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# Tamano oficial DNI (3.0 y 4.0) es 85,60x53,98 mm + +# Solicitar ficheros origen del DNI (Anverso y Reverso) +zenity --info --text="Seleccione la imagen con el ANVERSO" +ANVERSO=$(zenity --file-selection) +zenity --info --text="Seleccione la imagen con el REVERSO" +REVERSO=$(zenity --file-selection) + +# Ficheros temporales (escalado) +AnvTMP="${ANVERSO%.*}-tmp.jpg" +RevTMP="${REVERSO%.*}-tmp.jpg" + +# Ficheros Salida +AnvIMG="${ANVERSO%.*}-protegido.jpg" +RevIMG="${REVERSO%.*}-protegido.jpg" + +# Anverso Zona de Bloques de ocultacion +CAN='800,370,1000,605' +SOPORTE='400,440,570,485' +# Reverso Zona de Bloques de ocultacion +EQUIPO='5,177,100,355' +PADRES='280,317,620,376' +IDE='50,430,980,520' + +# Pedimos texto al usuario +TEXTO=$(zenity --entry --text="Escriba el mensaje a poner en la imagen" --entry-text=">> SOLO USO INTERNO Empresa <<") + +# Temporales Escalados +echo "Preparando Imagenes temporales (escaladas).." +convert "$ANVERSO" -resize 1011x638 -units PixelsPerInch -density 150 "$AnvTMP" 2>/dev/null +convert "$REVERSO" -resize 1011x638 -units PixelsPerInch -density 150 "$RevTMP" 2>/dev/null + +echo "Ocultando, fijando texto y escala gris en ANVERSO" +convert "$AnvTMP" -fill gray -draw "rectangle $CAN" -fill gray -draw "rectangle $SOPORTE" -font helvetica -fill black -pointsize 30 -density 90 -gravity center -annotate 0 "$TEXTO" -grayscale average -units PixelsPerInch -density 150 "$AnvIMG" + +echo "Ocultando, fijando texto y escala gris en REVERSO" +convert "$RevTMP" -fill gray -draw "rectangle $EQUIPO" -fill gray -draw "rectangle $PADRES" -fill gray -draw "rectangle $IDE" -font helvetica -fill black -pointsize 30 -density 90 -gravity center -annotate 0 "$TEXTO" -grayscale average -units PixelsPerInch -density 150 "$RevIMG" + +echo "Limpiando temporales..." +rm "$AnvTMP" "$RevTMP" + +echo +echo "-----------------------------------------------" +echo "Imagenes de DNI Listas y protegidas para envio" +echo " Anverso: $AnvIMG" +echo " Reverso: $RevIMG" +echo "-----------------------------------------------" +echo +