Mi Blog

No te olvides seguirme en Facebook.

Tan solo tienes que hacer click en Me Gusta

 

 

x

⋆ Cómo compartir una impresora PDF con Samba

⋆ Cómo compartir una impresora PDF con Samba

(Tiempo estimado: 5 - 9 minutos)

Crear una impresora virtual PDF y compartirla en red es muy sencillo con GNU/Linux y Samba. Aunque la mayoría de las nuevas aplicaciones suele tener un "Exportar a PDF", en ocasiones, sobretodo con equipos o aplicaciones viejas dicha opción no es posible. Con Samba, podremos crear una impresora virtual, compartirla en nuestra red e imprimir a PDF desde cualquier equipo que admita un driver genérico de PostScript.

Seguid leyendo y os enseñaré como montar un servidor de que imprima ficheros a PDF y los guarde en el $HOME de los usuarios...

 

 

¿QUÉ ES SAMBA?

Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que computadoras con GNU/LinuxMac OS X o Unix en general se vean como servidores o actúen como clientes en redes de Windows. Samba también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autentificar con su propio archivo de usuarios.

Entre los sistemas tipo Unix en los que se puede ejecutar Samba, están las distribuciones GNU/Linux, Solaris y las diferentes variantes BSD entre las que podemos encontrar el Mac OS X Server de Apple.

 

 

Una Fake Printer es una impresora falsa que convierte los ficheros a otro formato

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • PC con GNU/Linux y Samba instalado y funcionando
  • PC Windows cliente
  • Conexión a Internet

 

 

2.- PREREQUISITOS

En este tutorial no se van a detallar los pasos para instalar y configurar Samba en el equipo con GNU/LINUX. Si necesitáis un tutorial paso a paso aquí tenéis uno que escribí hace unos días: Cómo instalar y configurar SAMBA en GNU/LINUX Debian

 

 

3.- INSTALACIÓN DE PS2PDF

Para poder convertir los ficheros que lleguen a la "Fake Printer" de Samba, necesitamos tener instalado el binario ps2pdf. Para instalar ps2pdf en GNU/Linux Debian o Ubuntu ejecutaremos el siguiente comando:

raul@debian:~$ sudo apt-get install ghostscript

 

 

4.- INSTALAR Y CONFIGURAR PDFPRINT.SH

Debemos descargar un pequeño script de bash que será el encargado de ejecutarse a través de Samba y que ejecutará ps2pdf para convertir los Postscript (ficheros para imprimir) que enviemos desde el cliente a formato PDF. Descargaremos el fichero de la siguiente dirección: https://wiki.samba.org/index.php/File:Pdfprint.sh.txt o tambien dejo al final de este post una copia del script. Lo descargaremos en /usr/local/bin/ , le quitaremos la extensión txt y ejecutaremos el siguiente comando para darle permisos de ejecución:

raul@debian:~$ sudo chmod 755 /usr/local/bin/Pdfprint.sh

 

 

 

 

5.- CONFIGURAR LA IMPRESORA PDF EN SAMBA

Como queremos guardar los PDFs en el directorio $HOME del usuario, debemos tener los $HOMES de los usuarios compartidos para que puedan descargarse los PDFs impresos por red:

[Homes]
comment = Home Directories
browseable = no
read only = yes
create mask = 0644
directory mask = 0755
valid users = %S

 

 

Para añadir la impresora virtual PDF, al final del fichero /etc/samba/smb.conf, debemos añadir las siguientes líneas. Con esta configuración, los PDFs se guardarán en el directorio /home/<usuario>/Documentos/. Recordad, que esta configuración solo funciona para usuarios que tengan $HOME en el servidor. Con una pequeña variación podemos hacer que todo el mundo pueda imprimir y los PDFs se dejen en un recurso público accesible por todos, pero en este casi lo haré solo para usuarios de sistema:

[PDFprinter]
comment = Samba Virtual PDF Printer
printing = LPRNG
path = /var/spool/samba
printable = yes
public = no
lpq command =
lprm command =
print command = /usr/local/bin/Pdfprint.sh -s %f -d /home/%U/Documentos -o %U -m 600 -l /tmp/Pdfprint.log

 

 

Para aplicar los cambios, reiniciaremos el servidor de Samba:

raul@debian:~$ sudo service smbd restart

 

 

6.- CONFIGURACIÓN DE LOS CLIENTES WINDOWS

Configurar los equipos clientes Windows es muy sencillo. Desde el explorador de ficheros, haciendo click en Red, veremos la impresora compartida llamada PDFPrinter:

Samba PDF PrinterImpresora PDF a través de red

 

 

Con el botón derecho, haremos click y seleccionaremos "Conectar...":

Samba PDF PrinterConectar la impresora

 

 

Como no tenemos instalador drivers para la impresora, obtendremos un mensaje de error:

Samba PDF PrinterError: Controlador no encontrado

 

 

Instalaremos un driver genérico PostScript. En este caso, he seleccionado el driver de HP de Postscript de la impresora HP Color LaserJet 2800 Series PS:

Samba PDF PrinterInstalar controlador genérico PostScipt

 

 

Una vez instalados los drivers, en el listado de "Impresoras y faxes" veremos la impresora añadida y marcada como por defecto:

Samba PDF PrinterListado de impresoras y faxes

 

 

Ahora, realizaremos una prueba de impresión. Abriremos un navegador con una página Web y la imprimiremos a PDF:

Samba PDF PrinterImprimir página web

 

 

Seleccionaremos la impresora PDFprinter y haremos click en "Imprimir":

Samba PDF PrinterConfiguración de impresión

 

 

Si revisamos el fichero de logs (/tmp/Pdfprinter.log) en el servidor, veremos que efectivamente el fichero se ha convertido correctamente y se ha guardado en el $HOME del usuario raul:

raul@debian:~$ cat /tmp/Pdfprint.log 
jun 11 10:07:59 Successfully converted "smbprn.7zww7i" to "/home/raul/Documentos/Samba_PDF_Printer_2020-06-11_10-07-56.pdf".

 

 

Una vez imprimido el fichero, se guardará en el $HOME del usuario:

Samba PDF PrinterPDF generado

 

 

En la siguiente imagen se pude ver la página web impresa a PDF:

Samba PDF PrinterFichero PDF

 

 

ENJOY!


Raúl Prieto Fernández

Sitio Web: raulprietofernandez.net

Si quieres ir rápido, ve solo. Si quieres llegar lejos, ve acompañado.

Escribir un comentario

Código de seguridad
Refescar

¿Necesitas una web para tu negocio?

Yo te la hago!

Si necesitas una Web para tu negocio, atractiva, llamativa y funcional, no lo dudes y contacta conmigo. Me adapto a cualquier requisito para tu negocio.