GhostScript LINUX gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=salida.pdf entrada.pdf WINDOWS CMD gswin64c -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=salida.pdf entrada.pdf POWERSHELL (comillas) gswin64c "-sDEVICE=pdfwrite" "-dCompatibilityLevel=1.4" "-dPDFSETTINGS=/ebook" "-dNOPAUSE" "-dQUIET" "-dBATCH" "-sOutputFile=output\_PRO.pdf" "progit.pdf" \--- Significado por partes: gs Ejecuta Ghostscript - sDEVICE=pdfwrite Establece que el dispositivo de salida es un archivo PDF - dCompatibilityLevel=1.4 Define la compatibilidad del PDF de salida (1.4 es común) - dPDFSETTINGS=/screen Controla la compresión y calidad (ver abajo) - dNOPAUSE No hace pausa entre páginas - dQUIET Oculta mensajes en consola - dBATCH Ejecuta sin esperar interacción del usuario - sOutputFile=salida.pdf Nombre del archivo de salida entrada.pdf Archivo de entrada Opciones de compresión (PDFSETTINGS): Opción Compresión Calidad /screen Alta compresión Calidad baja (para visualizar en pantalla) /ebook Media Calidad aceptable para lectura /printer Baja Calidad buena para impresión /prepress Mínima compresión Alta calidad (prensa) \--- LINUX Simplificación como alias (temporal para tu sesión actual): alias comprimirpdf='gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH' Uso: comprimirpdf -sOutputFile=salida.pdf entrada.pdf O con script permanente (comprimir-pdf.sh): #!/bin/bash \# Uso: ./comprimir-pdf.sh entrada.pdf salida.pdf gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook \ - dNOPAUSE -dQUIET -dBATCH \ - sOutputFile="$2" "$1" Dale permisos: chmod +x comprimir-pdf.sh WINDOWS comprimir-pdf-auto.bat @echo off :: Script para comprimir un PDF usando Ghostscript (Windows) :: Uso: arrastrar un solo archivo PDF sobre este script. :: Generará un nuevo archivo con \_compress.pdf al final. if "%~1"=="" ( echo Arrastra un archivo PDF sobre este script para comprimirlo. pause exit /b ) set "input=%~1" set "output=%~dpn1\_compress.pdf" :: Ejecutar Ghostscript gswin64c "-sDEVICE=pdfwrite" "-dCompatibilityLevel=1.4" "-dPDFSETTINGS=/ebook" "-dNOPAUSE" "-dQUIET" "-dBATCH" "-sOutputFile=%output%" "%input%" echo PDF comprimido generado: %output% pause