Prova questo:
cat you_file.prn | netcat -w 1 printer_ip 9100
Se usi bash allora:
cat /path/to/file > /dev/tcp/10.11.234.75/9100
Quello che vuoi fare probabilmente non è fattibile. Se le stampanti alle estremità di questi indirizzi IP sono solo stampanti casuali, il server che stai costruendo dovrebbe sapere quale driver utilizzare per poter stampare su di esse. Se non li hai installati in alcun modo prima, allora non funzionerà.
Se vuoi solo parlare con altri server IPP (Internet Printing Protocol), allora è possibile, anche se non necessariamente elegante. Non conosco altre implementazioni Linux di un client IPP oltre a CUPS e CUPS richiede di installare le stampanti in anticipo. Questo può essere fatto molto facilmente (come spiegato qui). È lo stesso codice per aggiungere una normale stampante (ma devi sapere quale driver usare) come per un server IPP. In alternativa, potresti essere in grado di trovare un'altra implementazione IPP (o scriverne una - dovrebbe essere abbastanza semplice solo inviare un documento) che non richieda l'installazione di stampanti.
Ecco il codice per aggiungere una stampante IPP a CUPS:
lpadmin -E -p <printer-name> -v http://<ip_address>:631/<dir>/<printer> -L <location> -E
<printer-name>
e <location>
può essere quello che preferisci e ti serve il percorso di rete completo per la stampante.
Per aggiungere una normale stampante:
lpadmin -E -p <printer-name> -v <device-uri> -m <model> -L <location> -E
È lo stesso, tranne per il fatto che devi dare un <model>
, che è il driver della stampante. Elimina il primo -E
se non vuoi la crittografia.
Se vuoi eliminare la stampante in seguito, usa questo:
lpadmin -x <printer-name>