Agregados unos scripts.

This commit is contained in:
Braquistos 2023-04-13 09:10:24 -06:00
parent 07b0d045d8
commit b9b9f01e74
1 changed files with 184 additions and 4 deletions

View File

@ -23,6 +23,12 @@ En esta hoja se van a ir incluyendo comandos útiles de terminal de Linux y Mac.
* [Archivo de configuración de `tmux`](#ArchivoConfigTmuxTag) * [Archivo de configuración de `tmux`](#ArchivoConfigTmuxTag)
4. [Image Magick](#ImageMagickTag) 4. [Image Magick](#ImageMagickTag)
* [Comandos sueltos de ImageMagick](#ComandosImageMagickTag)
* [Optimización de archivos PDF](#OptimizacionPdfTag)
1. [Mediante la aplicación `ps2pdf` de Ghostscript](#OptimizarPdfGSATag)
2. [Mediante script explícito de Ghostscript](#OptimizarPdfGSATag)
* [Cambiar un PDF de RGB a CMYK](#CambiarRgbCmykTag)
* [Convertir a curvas los textos contenidos en un archivo SVG](#ConvertirACurvasTag)
5. [Audio](#audioTag) 5. [Audio](#audioTag)
* [Modificación de etiquetas y metadatos de MP3](#ModificacionMP3Tag) * [Modificación de etiquetas y metadatos de MP3](#ModificacionMP3Tag)
@ -661,12 +667,9 @@ Agregar lo siguiente para que las nuevas ventanas creadas dentro de una sesión
# <a id=ImageMagickTag></a> Image Magick # <a id=ImageMagickTag></a> Image Magick
## <a id=ComandosImageMagickTag></a> Comandos sueltos de ImageMagick
Recortar una imagen en PNG con fondo transparente de manera que sólo deje el contenido. Recortar una imagen en PNG con fondo transparente de manera que sólo deje el contenido.
@ -759,6 +762,183 @@ Extraer imágenes de un pdf en su formato original:
## <a id=OptimizacionPdfTag></a> Optimización de archivos PDF
### <a id=OptimizarPdfGSATag></a> Mediante la aplicación `ps2pdf` de Ghostscript
```
$ ps2pdf entrada.pdf salida.pdf
```
### <a id=OptimizarPdfGSATag></a> Mediante script explícito de Ghostscript
1. Se crea un script de bash con un nombre apropiado como `optimizarPdf.sh` que tenga el siguiente contenido:
```
#!/usr/bin/bash
# Para optimizar el pdf de nombre "archivo.pdf" se corre como:
#
# ./optimizarPdf.sh archivo 300
#
# en donde 300 es la resolución que también puede ser de 150 y 72
archivo=$1
res=$2
echo "Se seleccionó $res dpi"
archIn=$archivo.pdf
archOut=$archivo-${res}dpi.pdf
case $res in
300)
resTipo='/printer' # o usar /prepress
;;
150)
resTipo='/ebook'
;;
72)
resTipo='/screen'
;;
*)
echo "Resolucion no valida. Puede ser 300, 150 o 72"
exit 0
;;
esac
gs \
-sDEVICE=pdfwrite \
-dMaxSubsetPct=100 \
-dPDFSETTINGS=$resTipo \
-sOutputFile="$archOut" \
-dNOPAUSE \
-dBATCH \
-dAutoFilterColorImages=false \
-dColorImageFilter=/FlateEncode \
-dAutoFilterGrayImages=false \
-dGrayImageFilter=/FlateEncode \
-dMonoImageFilter=/FlateEncode \
"$archIn"
exit 0
```
2. Se le cambian los permisos para que pueda ser ejecutable y se mueve a un directorio que sea reconocido por el `$PATH`, por ejemplo, `/home/$USER/bin`.
```
$ chmod +x optimizarPdf.sh
$ mv optimizarPdf.sh /home/$USER/bin
```
3. El script optimiza las imágenes dentro del PDF para que queden a 72 dpi, 150 dpi o 300 dpi. Entonces, para optimizar un archivo PDF de nombre `archivo.pdf` a 300 dpi el script se ejecuta como:
```
$ optimizarPdf.sh archivo 300
```
en donde el nombre del archivo se indica sin la extensión. Los posibles valores de resolución en dpi son los indicados.
## <a id=CambiarRgbCmykTag></a> Cambiar un PDF de RGB a CMYK
1. Se crea un script de bash con un nombre apropiado como `pdfRgb2Cmyk.sh` que tenga el siguiente contenido:
```
#!/usr/bin/bash
# Para cambiar el pdf de nombre "archivo.pdf" de RGB a CMYK se corre como:
#
# ./pdfRgb2Cmyk.sh archivo
archivo=$1
archIn=$archivo.pdf
archOut=$archivo-cmyk.pdf
gs \
-sDEVICE=pdfwrite \
-dNOPAUSE \
-dNOCACHE \
-dBATCH \
-dSAFER \
-dAutoRotatePages=/None \
-sColorConversionStrategy=CMYK \
-dProcessColorModel=/DeviceCMYK \
-sOutputFile="$archOut" \
"$archIn"
exit 0
```
2. Se le cambian los permisos para que pueda ser ejecutable y se mueve a un directorio que sea reconocido por el `$PATH`, por ejemplo, `/home/$USER/bin`.
```
$ chmod +x pdfRgb2Cmyk.sh
$ mv pdfRgb2Cmyk.sh /home/$USER/bin
```
3. El script cambia a CMYK las imágenes de un archivo PDF que estén en RGB y se ejecuta como:
```
$ pdfRgb2Cmyk.sh archivo
```
en donde el nombre del archivo se indica sin la extensión.
## <a id=ConvertirACurvasTag></a> Convertir a curvas los textos contenidos en un archivo SVG
1. Se crea un script de bash con un nombre apropiado como `inkCurva.sh` que tenga el siguiente contenido:
```
#!/usr/bin/bash
# Para ejecutar
#
# $ inkCurva.sh archivo
#
# en donde 'archivo' es el archivo.svg. El resultado tiene por nombre archivocurvas.svg
ruta=`pwd`
# Descomentar si se usa en MacOS
# correInks=/Applications/Inkscape.app/Contents/Resources/bin/inkscape
# En este caso cambiar el hashbang de la primera línea a #!/bin/bash
# Descomentar si se usa un Inkscape instalado mediante gestor de paquetes
# correInks=/usr/bin/inkscape
# Descomentar si se ejecuta Inkscape desde un binario tipo AppImage, ajustar la ruta y el nombre
correInks=/home/$USER/local/inkscape122/Inkscape-b0a8486-x86_64.AppImage
$correInks $ruta/$1.svg --export-text-to-path --export-plain-svg=$ruta/$1curvas.svg
```
2. Se le cambian los permisos para que pueda ser ejecutable y se mueve a un directorio que sea reconocido por el `$PATH`, por ejemplo, `/home/$USER/bin`.
```
$ chmod +x inkCurva.sh
$ mv inkCurva.sh /home/$USER/bin
```
3. El script convierte a curvas todos los textos contenidos en `archivo.svg` de Inkscape y se ejecuta como:
```
$ inkCurva.sh archivo
```
en donde el nombre del archivo se indica sin la extensión.
# <a id=audioTag></a> Audio # <a id=audioTag></a> Audio