El sáb, 1 de mar de 2025, 20:07, Carlos Villiere <cvilliere2...@gmail.com> escribió:
> Hola Jose!! > Haber si entiendo la cuestión, desde una computadora envías un archivo y > quieres que la otra (la que está en lugar de la impresora) lo procese o > haga cualquier otra cosa como ser almacenarlo en una carpeta. Si es así, lo > que te sugiero es que montes un BBS entre ambas, siendo la computadora el > servidor y la que está en lugar de la impresora el cliente, y desde esta > bajas en archivo de tu interés sea texto o un ejecutable o cualquier otro. > Existos > Saludos > > El sáb, 1 mar 2025 a las 5:42, Camaleón (<noela...@gmail.com>) escribió: > >> El 2025-02-28 a las 18:58 +0100, Jose Ab bA escribió: >> >> (Corrijo el top-posting y el formato de cita...) >> >> ¿Qué cliente de correo usas? ;-( >> >> > El 2025-02-27 a las 11:04 +0100, Jose Ab bA escribió: >> > >> >> > Buenos dias amig@s! >> >> > >> >> > A ver, que siempre acudo a la lista con algo raro. >> >> > >> >> > Tengo una maquina (el servidor) que por el puerto paralelo me envia >> >> > listados a una impresora. >> >> > >> >> > Quiero reemplazar la impresora por una CPU (el cliente) y que esta >> reciba >> >> > la informacion como si fuese, o simulase ser, la impresora. >> >> >> >> (...) >> > >> >> Hum... el objetivo no me queda claro :-? >> > >> >> Una cosa es conectar dos equipos punto a punto a través del puerto >> >> paralelo y otra cosa es qué hacer (o cómo gestionar) con los datos (la >> >> información) que se recibe. >> > >> >> ¿Quieres guardarlos en bruto? >> >> ¿Imprimirlos? >> >> ¿Generar un archivo (raw, PDF, PS...)? >> > >> >> En princpio, y para lo que «intuyo» que buscas, me viene a la cabeza >> >> PLIP y CUPS pero mejor si aclaras o amplías un poco más lo que quieres >> >> hacer von ese equipo que reemplaza a la impresora. >> > >> > Buenas tardes Camelon y Cia! >> >> >> > La idea basica es: >> >> >> > 1. Quitar una impresora que esta conectada a una cpu mediante su >> > puerto y cablle paralelo/Centronics... Que es de agujas y de cuando >> > mariacastaña! >> > 2. Poner en su lugar un equipo (lo que llamo cpu o cliente). >> > 3. Recopilar la informacion que le entre al equipo por el puerto >> > fisico paralelo (lo que serian los listados que deberia imprimir la >> > impresora). >> > 4. Transformar esos listados (datos) en archivos pdfs (a ser posible), >> > para almacenarlos. >> > >> > Expresado de otra manera: >> >> > Convertir la impresora fisica en una impresora digital. >> > Que almacene los listados y que se puedan consultar de manera digital, >> > reimprimir, etc.. >> >> > Si los datos solo se pueden recopilar en modo raw, pues tendria que >> > transformalos. >> > Pero si directamente puedo generar pdf's, o al menos txt's, mucho, >> > pero que mucho mejor! >> >> Pues sigo sin ver para qué quieres comunicar / conectar dos ordenadores >> con un cable de impresora :-? >> >> A ver, en el equipo que quieres usar para reemplazar a la impresora, >> instala CUPS, un script o un controlador de impresora avanzado que te >> permita almacenar en archivo en lugar de madarlo a la impresora física y >> lo que sea que quieras imprimir, que lo guarde como archivo... PS, PDF, >> texto plano, formato en bruto (raw). Lo que más te guste. >> >> Hoy en día no le veo mayor complejidad a esa configiración que suele >> venir integrada en la mayoría de aplicaciones (Firefox, LibreOffice, >> etc.). >> >> Saludos, >> >> -- >> Camaleón >> > Hola te copio una respuesta de una IA, deepseek, no lo chequee porque estoy sin pc: Tu proyecto consiste en convertir una impresora de agujas conectada a través de un puerto paralelo en una impresora digital que genere archivos PDF o TXT a partir de los datos que recibe. Aquí te dejo una guía paso a paso para lograrlo: --- ### **1. Eliminar la impresora física y conectar el equipo cliente** - Desconecta la impresora de agujas del puerto paralelo. - Conecta el equipo cliente (que corre Debian) al mismo puerto paralelo. Asegúrate de que el puerto paralelo esté correctamente configurado y reconocido por el sistema. --- ### **2. Recopilar los datos del puerto paralelo** El puerto paralelo en Linux se maneja a través del dispositivo `/dev/parport0` o `/dev/lp0`. Para leer los datos que llegan al puerto, puedes usar herramientas como `ppdev` o `parport`. #### **Pasos:** 1. **Instalar herramientas necesarias**: ```bash sudo apt update sudo apt install ppautils ``` 2. **Leer datos del puerto paralelo**: Puedes usar un script en Python o un programa en C para leer los datos. Aquí te dejo un ejemplo en Python usando la librería `pyparallel`: ```bash sudo apt install python3-pip pip3 install pyparallel ``` Ejemplo de código en Python: ```python import parallel # Configura el puerto paralelo p = parallel.Parallel() # Lee datos del puerto while True: data = p.getData() # Lee los datos del puerto if data: print(f"Datos recibidos: {data}") # Aquí puedes procesar los datos para convertirlos en PDF o TXT ``` Si no encuentras la librería `pyparallel`, puedes usar acceso directo al dispositivo `/dev/parport0` con permisos de superusuario. --- ### **3. Transformar los datos en archivos PDF o TXT** Los datos que recibes del puerto paralelo pueden estar en formato RAW (bytes sin procesar). Dependiendo del formato, puedes convertirlos en texto plano o directamente en PDF. #### **Opción 1: Convertir a TXT** Si los datos son texto plano, puedes escribirlos directamente en un archivo `.txt`. Ejemplo en Python: ```python with open("listado.txt", "a") as f: f.write(data.decode("utf-8")) # Decodifica los bytes a texto ``` #### **Opción 2: Convertir a PDF** Para generar archivos PDF, puedes usar librerías como `reportlab` o `fpdf`. Instala `reportlab`: ```bash pip3 install reportlab ``` Ejemplo de código para generar un PDF: ```python from reportlab.lib.pagesizes import A4 from reportlab.pdfgen import canvas def create_pdf(data, filename="listado.pdf"): c = canvas.Canvas(filename, pagesize=A4) text = c.beginText(40, 800) # Posición inicial del texto text.setFont("Helvetica", 12) # Añade los datos al PDF for line in data.decode("utf-8").split("\n"): text.textLine(line) c.drawText(text) c.save() # Ejemplo de uso create_pdf(data) ``` --- ### **4. Automatizar el proceso** Puedes crear un servicio en Debian para que el script se ejecute automáticamente al iniciar el sistema. 1. Crea un archivo de servicio en `/etc/systemd/system/impresora-digital.service`: ```ini [Unit] Description=Servicio para convertir datos de puerto paralelo a PDF After=network.target [Service] ExecStart=/usr/bin/python3 /ruta/al/script.py Restart=always User=root [Install] WantedBy=multi-user.target ``` 2. Habilita y arranca el servicio: ```bash sudo systemctl enable impresora-digital.service sudo systemctl start impresora-digital.service ``` --- ### **5. Almacenar y consultar los archivos** - Guarda los archivos PDF o TXT en una carpeta específica. - Puedes usar un servidor web (como Apache o Nginx) para acceder a los archivos desde otros dispositivos en la red. Instala Apache: ```bash sudo apt install apache2 ``` Coloca los archivos en `/var/www/html` para que estén accesibles. --- ### **Consideraciones adicionales** - **Formato de los datos**: Si los datos no son texto plano, necesitarás decodificarlos. Por ejemplo, si son comandos de impresora (PCL, PostScript), necesitarás una librería específica para interpretarlos. - **Pruebas**: Asegúrate de probar el sistema con datos reales para verificar que todo funcione correctamente. --- Con esto, habrás convertido tu impresora de agujas en una impresora digital que genera archivos PDF o TXT. ¡Buena suerte con tu proyecto! > >>