Files
guias_informatica/Guia_ghostscript.md
T
2026-08-04 19:24:21 +02:00

2.4 KiB

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