Re: Come convertire cups spool driverless application/octect-stream

2024-03-05 Per discussione Piviul

On 3/1/24 15:59, Piviul wrote:
Non conosco MOPRIA... da quel che ho letto in giro apple spinge molto 
cups per abbandonare la stampa tradizionale con driver ed utilizzare 
soltanto sistemi di stampa driverless. Molti utenti sono preoccupati 
per questo passo nel buio ma noi contiamo poco... ci sono anche molti 
produttori di hardware che sono dubbiosi: le motivazioni si possono 
capire... Tani modi, tutto questo è per dire che mi sono fatto l'idea 
che MOPRIA sia solo un consorzio di aziende che cerca di pilotare la 
transizione driverless e non lasciarla solo in mano ad apple. Ma forse 
mi sbaglio


Qualcosa di più su Mopria e driverless printing:

AirPrint(released in 2010), IPP Everywhere, Mopria, Wi-Fi Direct Print. 
These standards are practically all the same, the printer advertises its 
presence, its network address, and basic capabilities via DNS-SD (aka 
BonJour, mDNS, zero-conf, implemented with Avahi in Linux), accepts 
communication and jobs from clients via IPP (Internet Printing 
Protocol), from the Printer Working Group, supplies complete capability 
info to clients via IPP and uses only common Page Description Languages 
(PDLs) for jobs: PDF, Apple Raster, PWG Raster, PCLm.


fonte: https://openprinting.github.io/documentation/01-printer-application/

Piviul



Re: Come convertire cups spool driverless application/octect-stream

2024-03-01 Per discussione Piviul

On 2/29/24 12:41, Marco Gaiarin wrote:

Mandi! Piviul
   In chel di` si favelave...


tolgono i backends qual è la strada giusta?

Non lo so, ma sono curiosissimo. Se alla fine riescia far funzionare tutto,
riesci a docuentare la cosa a pro di tutti?


Ciao Marco, avrei voluto ma mi sono arreso, la possibilità di costruire 
una print application con driverless è naufragata. Tieni conto che avrei 
voluto costruirla soltanto con script nel senso che un buon 
programmatore C potrebbe anche costruirsela magari prendendo spunto dal 
codice della ippeveprinter...; ma andiamo per gradi. Da quel che ho 
capito esiste un software (ippeveprinter) che quando avviato dovrebbe 
generare contemporaneamente un servizio ipp e uno http, il primo per 
permettere il discovery e stampa ai client della rete e l'altro dovrebbe 
essere utilizzato dagli amministratori per configurare via web le 
opzioni presenti nel PPD. In altre parole dovrebbe creare a tutti gli 
effetti una stampante virtuale IPP everywhere. Fra le varie opzioni c'è 
anche la possibilità che venga eseguito uno script per ogni job 
stampato... tutto sembra perfetto a parte che non sono riuscito ad 
accedere via web alla stampante virtuale (ma di quello se ne può fare a 
meno e magari sono solo io che non ci sono riuscito!) ma soprattutto non 
si sa nulla del documento stampato ad esempio l'host o l'utente da cui 
proviene il documento stampato. Come puntualizzava qualcuno la 
ippeveprinter è lo stesso software che c'è su una stampante hp di cui 
non ricordo il nome solo che invece di spedirlo alla stampante lo salva 
su file... non sufficiente però per costruire una printer application.


Ora la mia 'printer application' utilizza l'emulazione bsd di samba ma 
da samba 4.16 non funziona più :( Ho aperto anche un bug report[¹] ma 
chissà se verrà mai preso in considerazione.


Comunque per un po' sono coperto, sono riuscito a creare un backend cups 
che dovrebbe funzionare almeno finché cups supporterà i backends... ma 
se qualcuno volesse suggerire qualche altra strada da percorrere lo 
ringrazio fin d'ora! E dimenticavo: se qualcuno fosse interessato a 
sapere come si fa un backend cups per la generazione di files di stampa 
condivido il mio lavoro volentieri!




Poi, 'Driverless' e MOPRIA sono la stessa cosa? Che relazione c'è?


Non conosco MOPRIA... da quel che ho letto in giro apple spinge molto 
cups per abbandonare la stampa tradizionale con driver ed utilizzare 
soltanto sistemi di stampa driverless. Molti utenti sono preoccupati per 
questo passo nel buio ma noi contiamo poco... ci sono anche molti 
produttori di hardware che sono dubbiosi: le motivazioni si possono 
capire... Tani modi, tutto questo è per dire che mi sono fatto l'idea 
che MOPRIA sia solo un consorzio di aziende che cerca di pilotare la 
transizione driverless e non lasciarla solo in mano ad apple. Ma forse 
mi sbaglio


Piviul

[¹] https://bugzilla.samba.org/show_bug.cgi?id=15576



Re: Come convertire cups spool driverless application/octect-stream

2024-02-29 Per discussione Marco Gaiarin
Mandi! Piviul
  In chel di` si favelave...

> tolgono i backends qual è la strada giusta?

Non lo so, ma sono curiosissimo. Se alla fine riescia far funzionare tutto,
riesci a docuentare la cosa a pro di tutti?


Poi, 'Driverless' e MOPRIA sono la stessa cosa? Che relazione c'è?

-- 
  Internet it's the largest equivalence class in the reflexive
  transitive symmetric closure of the relationship:
  ``can be reached by an IP packet from''.  (Seth Breidbart)




Re: Come convertire cups spool driverless application/octect-stream

2024-02-28 Per discussione Piviul

On 2/28/24 15:44, Federico Di Gregorio wrote:

[...]
Non credo tu possa farlo usando la modalità driverless. In questa 
modalità l'applicazione manda direttamente alla stampante i dati in 
uno dei formati supportati (tipo PWG): lo scopo del driverless è 
proprio usare un formato unico e ben definito invece di dover 
convertire da uno all'altro. Tutti i formati driverless sono raster e 
se vuoi usare il driverless devi trattarli correttamente.


Leggendo qua e la mi sembra di aver capito che ippeveprinter fa al caso 
mio. In questo post[¹] ci sono buoni spunti di riflessione sull'utilità 
di ippeverprinter e come possa essere una base per una printer application..


Ora mi tocca studiare un po', nei ritagli di tempo... se qualcuno fosse 
interessato poi mando un feedback.


Piviul

[¹] 
https://stackoverflow.com/questions/69883878/setting-up-a-print-to-disk-system-with-ippeveprinter




Re: Come convertire cups spool driverless application/octect-stream

2024-02-28 Per discussione Federico Di Gregorio

On 28/02/24 14:28, Piviul wrote:

On 2/28/24 09:18, Diego Zuccato wrote:

[snip]
Seguendo l'altro suggerimento di vedere se non fosse un postscript dal 
momento che son certo dei driver postscript utilizzati dai clients, come 
faccio a convertirlo nuovamente in ps? se lo apro direttamente mi dice: 
"File type unknown (application/octet-stream) is not supported" :(


Se la tua "stampante" dice di essere compatibile solo con pdf, 
*dovresti* ricevere solo dei pdf pronti da salvare, IIUC :)


questo sarebbe il massimo... anzi, è proprio quello che sto cercando di 
fare ;)


Non credo tu possa farlo usando la modalità driverless. In questa 
modalità l'applicazione manda direttamente alla stampante i dati in uno 
dei formati supportati (tipo PWG): lo scopo del driverless è proprio 
usare un formato unico e ben definito invece di dover convertire da uno 
all'altro. Tutti i formati driverless sono raster e se vuoi usare il 
driverless devi trattarli correttamente.


federico

--
Federico Di Gregorio federico.digrego...@dndg.it
DNDG srl  http://dndg.it
 La macchina virtuale elabora quindi dati adempiendo le sue funzioni
  specifiche senza esistere nella realtà degli oggetti.  -- uno studente



Re: Come convertire cups spool driverless application/octect-stream

2024-02-28 Per discussione Diego Zuccato

Il 28/02/2024 14:28, Piviul ha scritto:




 Mi ci ero imbattuto anch'io e ora non ricordo più come avevo fatto ma
ero arrivato alla conclusione che fosse un PWG raster... ma poi? Come 
fare a convertirlo in qualcosa tipo ps o pdf o... ho cercato, 
probabilmente dovrei applicargli qualche filtro ma mi sembra di capire 
che anche i filtri siano deprecati? ...devo studiare ancora ma se 
qualcuno sa darmi un'imbeccata...

Può essere che il client supporti solo quello.
Un punto di partenza può essere
https://github.com/michaelrsweet/rasterview

Seguendo l'altro suggerimento di vedere se non fosse un postscript dal 
momento che son certo dei driver postscript utilizzati dai clients, come 
faccio a convertirlo nuovamente in ps? se lo apro direttamente mi dice: 
"File type unknown (application/octet-stream) is not supported" :(

Magari convert (ImageMagick) lo conosce?

Se la tua "stampante" dice di essere compatibile solo con pdf, 
*dovresti* ricevere solo dei pdf pronti da salvare, IIUC :)
questo sarebbe il massimo... anzi, è proprio quello che sto cercando di 
fare ;)

Però temo che molti client non lo supportino, preferendo PWG.

Purtroppo non ti so aiutare molto di più perché è più di un decennio che 
non mi addentro nei meandri di cups (e onestamente non ne sento la 
mancanza :) ).


--
Diego Zuccato
DIFA - Dip. di Fisica e Astronomia
Servizi Informatici
Alma Mater Studiorum - Università di Bologna
V.le Berti-Pichat 6/2 - 40127 Bologna - Italy
tel.: +39 051 20 95786



Re: Come convertire cups spool driverless application/octect-stream

2024-02-28 Per discussione Piviul
Con cupsfilter in effetti si converte facilmente in ps, pdf... a parte 
che dicono di non chiamarlo direttamente ma di impostare i filtri nella 
coda di stampa, potrei anche vedere come si fa, ma poi nel man di 
cupsfilter leggo sempre la solita minaccia: "CUPS printer drivers, 
filters, and backends are deprecated and will no longer be supported in 
a future feature release of CUPS."


realizzo solo ora, backends... quindi anche il backend che sto facendo 
non sarà più supportato? Allora tanto vale usare un driver postscript e 
mandare a quel paese la stampa driverless sperando che queste minacce 
rimangano nel vuoto!


Mi sfugge qualcosa?

Ma se uno volesse fare una banale stampante virtuale che riceve un ps 
come spool e in base a opzioni impostate e all'analisi del contenuto del 
file stesso decidere come recapitarlo all'utente che ha inviato la 
stampa (via mail o su cartella specifica ricavata dal file stesso...), 
che nome dargli, in summa creare una stampante virtuale cups a cui 
arriva uno spool che viene dato in pasto ad uno script che fa il lavoro 
sporco di convertirlo, rinominarlo e recapitarlo, come deve fare? Se mi 
tolgono i backends qual è la strada giusta?


Grazie

Piviul



Re: Come convertire cups spool driverless application/octect-stream

2024-02-28 Per discussione Piviul

On 2/28/24 09:18, Diego Zuccato wrote:
octet-stream può essere qualsiasi cosa... Devi salvartelo, analizzarlo 
e capire se è un formato che conosci.
Probabilmente la frase chiave di 
https://www.cups.org/doc/spec-design.html è questa: "data files are 
the original print files that were submitted for printing".
Quello che ricevi dovrebbe essere il data file, quindi il contenuto 
dipende da cosa ha generato il driver sul client. Potrebbe già essere 
un postscript, e questo ti andrebbe benissimo. Ma potrebbe essere 
anche un HPGL o un qualche formato raster :(
Tieni presente che puoi suggerire al client il formato da usare, ma 
non puoi costringerlo ad usarlo (quante pagine sprecate dopo un cambio 
di stampante...).
Però, se cups è correttamente configurato per la stampa driverless, ti 
puoi aspettare uno dei formati specificati 
(https://wiki.debian.org/CUPSDriverlessPrinting) :
"There is a common PDL that the client can send and that the printer 
will accept. The common PDL is based on what is obtained from the 
capability information for the selected printer. A driverless-enabled 
printer will offer at least one of Apple raster, PWG raster, PDF or 
PCLm as a PDL".


Mi ci ero imbattuto anch'io e ora non ricordo più come avevo fatto ma 
ero arrivato alla conclusione che fosse un PWG raster... ma poi? Come 
fare a convertirlo in qualcosa tipo ps o pdf o... ho cercato, 
probabilmente dovrei applicargli qualche filtro ma mi sembra di capire 
che anche i filtri siano deprecati? ...devo studiare ancora ma se 
qualcuno sa darmi un'imbeccata...


Seguendo l'altro suggerimento di vedere se non fosse un postscript dal 
momento che son certo dei driver postscript utilizzati dai clients, come 
faccio a convertirlo nuovamente in ps? se lo apro direttamente mi dice: 
"File type unknown (application/octet-stream) is not supported" :(


Se la tua "stampante" dice di essere compatibile solo con pdf, 
*dovresti* ricevere solo dei pdf pronti da salvare, IIUC :)


questo sarebbe il massimo... anzi, è proprio quello che sto cercando di 
fare ;)


Piviul



Re: Come convertire cups spool driverless application/octect-stream

2024-02-28 Per discussione Diego Zuccato
octet-stream può essere qualsiasi cosa... Devi salvartelo, analizzarlo e 
capire se è un formato che conosci.
Probabilmente la frase chiave di 
https://www.cups.org/doc/spec-design.html è questa: "data files are the 
original print files that were submitted for printing".
Quello che ricevi dovrebbe essere il data file, quindi il contenuto 
dipende da cosa ha generato il driver sul client. Potrebbe già essere un 
postscript, e questo ti andrebbe benissimo. Ma potrebbe essere anche un 
HPGL o un qualche formato raster :(
Tieni presente che puoi suggerire al client il formato da usare, ma non 
puoi costringerlo ad usarlo (quante pagine sprecate dopo un cambio di 
stampante...).
Però, se cups è correttamente configurato per la stampa driverless, ti 
puoi aspettare uno dei formati specificati 
(https://wiki.debian.org/CUPSDriverlessPrinting) :
"There is a common PDL that the client can send and that the printer 
will accept. The common PDL is based on what is obtained from the 
capability information for the selected printer. A driverless-enabled 
printer will offer at least one of Apple raster, PWG raster, PDF or PCLm 
as a PDL".
Se la tua "stampante" dice di essere compatibile solo con pdf, 
*dovresti* ricevere solo dei pdf pronti da salvare, IIUC :)


HIH

Diego

Il 28/02/2024 08:07, Piviul ha scritto:
Ciao a tutti, sto implementando un backend cups per la stampa in pdf e 
siccome cups minaccia di togliere il supporto ai driver (cosa che mi 
sembra alquanto improbabile nel medio periodo) volevo vedere se riuscivo 
ad implementarla driverless. Se imposto quindi everywhere come driver al 
mio backend arriva uno spool file con mime_type application/octect-stream.


Non c'è modo di convertire quello spool file in postscript o pdf o...?

Grazie

Piviul



--
Diego Zuccato
DIFA - Dip. di Fisica e Astronomia
Servizi Informatici
Alma Mater Studiorum - Università di Bologna
V.le Berti-Pichat 6/2 - 40127 Bologna - Italy
tel.: +39 051 20 95786



Come convertire cups spool driverless application/octect-stream

2024-02-27 Per discussione Piviul
Ciao a tutti, sto implementando un backend cups per la stampa in pdf e 
siccome cups minaccia di togliere il supporto ai driver (cosa che mi 
sembra alquanto improbabile nel medio periodo) volevo vedere se riuscivo 
ad implementarla driverless. Se imposto quindi everywhere come driver al 
mio backend arriva uno spool file con mime_type application/octect-stream.


Non c'è modo di convertire quello spool file in postscript o pdf o...?

Grazie

Piviul