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!

>
>>

Responder a