Pequeños scripts utilitarios y una sencilla interfaz de terminal (TUI) para preparar e imprimir archivos PDF como libros (flujo de trabajo de dúplex manual), usando gum de Charm para una experiencia TUI.
PrintBook ofrece dos puntos de entrada principales:
printBookTUI.sh— TUI interactiva que permite elegir impresora, modo de color, formato de impresión (libro/dúplex manual o página completa) y uno o más archivos PDF para imprimir. Usagumpara los menús y cuadros de confirmación/estado.printBook2.sh— ayuda no interactiva para crear un PDF en formato libro e imprimir páginas impares/pares (dúplex manual) para un solo archivo.
Estos scripts automatizan la generación del formato libro (con pdfbook2), la separación de páginas impares/pares con pdftk y el envío de trabajos a CUPS (lp). Incluyen indicaciones y spinners con gum para guiar al usuario durante el proceso de dúplex manual.
- Convierte rápidamente PDFs en un diseño de folleto apto para impresión dúplex manual.
- Proporciona un flujo de trabajo interactivo sencillo para seleccionar impresoras y opciones sin escribir código de interfaz:
gumaporta la experiencia de usuario. - Conjunto de herramientas pequeño basado en shell que funciona en sistemas Linux con CUPS y las utilidades de PDF habituales.
- Selección interactiva (TUI) de impresora, modo de color y archivos
- Creación de folleto usando
pdfbook2 - Separación de páginas impares/pares con
pdftk - Uso de
gumpara una UX consistente y agradable (choose,confirm,spin,style)
- bash (shell POSIX)
- Utilidades de CUPS:
lp,lpstat pdfbook2(https://github.com/jenom/pdfbook2)pdftk(o un extractor de páginas PDF compatible)gum(herramienta TUI de Charm)
En Debian/Ubuntu normalmente puedes instalar los paquetes necesarios con:
sudo apt update
sudo apt install pdftk
# instala gum por separadoNota: los nombres de paquete varían según la distribución. pdfbook2 puede venir con la cadena de herramientas de TeX (pdfjam). Si pdfbook2 no está disponible, instala el paquete que lo provea en tu distro.
- Clona el repositorio:
git clone https://github.com/DiegoCChumbi/PrintBook.git
cd PrintBook- Haz ejecutables los scripts si es necesario:
chmod +x printBookTUI.sh printBook2.sh- Asegúrate de que las dependencias estén instaladas. Instala
gumsi quieres la experiencia TUI:
# Recomendado: instalar gum con el gestor de paquetes o vía `go install`
go install github.com/charmbracelet/gum@latest- TUI interactiva (recomendado):
./printBookTUI.shEsto mostrará menús para seleccionar la impresora, color (Color/BW), formato de impresión (FullPage/Cuaderno) y uno o varios archivos *.pdf en el directorio actual.
- Ayudante no interactivo para un solo archivo y siempre en modo cuadernillo:
./printBook2.sh miarchivo.pdf # imprime en color (por defecto)
./printBook2.sh miarchivo.pdf bw # fuerza blanco y negroNotas sobre el flujo de trabajo:
- Los scripts generan un
*-book.pdf(formato folleto), luego separan páginas impares/pares y envían primero las impares a la impresora. Se te pedirá que vuelvas a insertar las hojas para imprimir las páginas pares. - Estos scripts están orientados a escenarios de dúplex manual.
- Gracias a Charm (charmbracelet) por crear y mantener
gum, que aporta la interfaz interactiva y los componentes TUI usados enprintBookTUI.sh. - Gracias a Jenom por
pdfbook2, la herramienta que usamos para generar el formato libro (booklet) a partir de PDFs.