Resumen
La impresión directa desde Linux (CUPS) a una impresora compartida por Windows NO funciona debido a un bug de Windows llamado “Remote Downlevel Document”. El documento llega a la cola de Windows pero no se imprime.
Solución que funciona: smbclient directo
Aunque CUPS falla, usar smbclient directamente sí funciona:
# Instalar smbclient (ya viene con Samba)
# Imprimir un archivo
smbclient "//192.168.0.203/HP_Printer" -U "Aligra%" -c "print archivo.pdf"
El % al final de Aligra indica contraseña vacía.
Configuración actual
Windows
- IP: 192.168.0.203
- Usuario: Aligra (sin contraseña)
- Impresora: HP PSC 1400 series
- Driver: Microsoft Print To PDF
- Compartida como: HP_Printer
Linux
- CUPS instalado
- Backend SMB personalizado:
/usr/lib/cups/backend/smb
Para usar desde Linux
- Opción 1: Script simple
#!/bin/bash
# imprimir.sh
smbclient "//192.168.0.203/HP_Printer" -U "Aligra%" -c "print $1"
- Opción 2: Convertir a PostScript primero
pdftops archivo.pdf archivo.ps
smbclient "//192.168.0.203/HP_Printer" -U "Aligra%" -c "print archivo.ps"
Problemas encontrados
- CUPS + SMB: El documento llega a Windows pero dice “Documento remoto de bajo nivel” y no imprime
- IPP: No funciona, Windows no acepta conexiones IPP entrantes
- TCP/IP raw (9100): El servicio LPD no está habilitado en Windows
- Compartir impresoras: Set-Printer no funciona, el servicio de compartición de Windows está deshabilitado
Workaround alternativo
Si smbclient tiene problemas con PDFs, usar la carpeta compartida:
sudo mount -t cifs //192.168.0.203/Users /mnt/windows -o username=Aligra,password=
cp archivo.pdf /mnt/windows/
# Luego imprimir desde Windows manualmente
Notas
- El problema del “Remote Downlevel Document” es un bug conocido de Microsoft
- LaHP PSC 1400 series es una impresora vieja (2005) y tiene problemas con drivers modernos
- PrinterShare es un software de terceros que podría resolver el problema pero requiere instalación