venerdì 13 febbraio 2009

Fritz 7170 Fax capi-over-tcp (parte 2)

E' possibile spedire i fax con linux ed il Fritz 7170. Ni. Il fritz al suo interno ha un server CAPI over the net . Si può usare l'ISDN interna, utilizzando il protocollo tcp/ip la cui attivazione o disattivazione (di default disattivato) avviene attraverso codici telefonici (collegare un telefono analogico ad una porta ATA )
#96*3* - CAPI on
#96*4* - CAPI off

Sono necessarie anche, nella propria linux box, le librerie adatte per comunicare con il server CAPI. In molte distribuzioni linux è disponibile la libreria "libcapi20" che si occupa di gestire i segnali per schede CAPI attive o passive. Purtroppo la libcapi20 standard non ha il supporto per il CAPI remoto. All'indirizzo http://capifax.v3v.de/ sono disponibili i sorgenti ed i binari precompilati per l'architettura X86.

Installazione manuale libcapi20: copiare in /usr/lib i files .so contenuti nella cartella build e capiinfo nella cartella /usr/local/bin o direttamente in /usr/bin
I settaggi: il remote CAPI si setta attraverso delle variabili di sistema che possono essere inserite in /etc/.environment (per il settaggio all'avvio). In alternativa, per provare, è possibile digitare i seguenti comandi in un terminale:

export FB_REMOTE_CAPI_IP=192.168.x.y # Router-IP or hostname
export FB_REMOTE_CAPI_PORT=5031 # Port of capiotcp
export FB_REMOTE_CAPI_DEBUG=0 # Debug (0 nothing - 3 all)
export FB_REMOTE_CAPI_TCP=1 # Use remote capi (1=on, 0=off)
export FB_REMOTE_CAPI_DEV=1 # Use local capi (1=on, 0=off)

una volta settate correttamente le variabili ed attivato il CAPI del fritz con #96*3*, con il comando capiinfo si dovrebbe vedere le porte del fritz box che brevemente sono:

Controller 1 = ISDN (S0 esterna)
Controller 3 = ISDN (S0 interna)
Controller 4 = Analogica
Controller 5 = VoIP

Installare capifax: è il programma che si occupa di spedire i fax via libcapi20, per qualche ragione il capifax presente in ubuntu va in crash se si usa la libcapi scaricata come da istruzioni precedenti, per cui si può usare il capifax proveniente dalla stessa sorgente della libcapi20.

Installazione capifax manuale: copiare libcapifax in /usr/lib e capifax in /usr/bin

usage: capifax [OPTIONS]

OPTIONS:
-send [tiff_file] [controller] [msn] [target_no]
-receive [path] [controller] [msn]
-rate [2400|4800|9600|14400]
-ident "+00 00 0000000"
-header "My Name"
-ecm [on|off]
-loglevel [0-5]

Il parametro "controller" è uno di quelli elencati in precedenza. Per chiamare con un provider voip si userà il numero 5.
Il parametro "msn" indica il numero del provider registrato nel fritz (partendo a contare da zero)
Esempio 1:
capifax -send filefax.g3 5 2 +399999999999

Esempio 2:
capifax -send fax_g3.tif 5 4 9999999999 -ident "+39 (0)999 999999" -header "intestazione del mittente" -loglevel=3

Log FaxIl suffisso +39 può essere omesso, indicando in alternativa il numero completo di fax a cui spedire o il suffisso 0039 a seconda della propria configurazione voip.
Il parametro "loglevel" indica la "verbosità" dell'output restituito dal comando, utile per cercare di capire se qualcosa non va. Il file da inviare deve essere già in formato tiff g3 (capifax non si occupa della conversione ma solo della spedizione). Un sistema per convertire un file ps o pdf nel formato tiffg3 consiste nell'usare il comando gs (ghostscript).
Esempio per convertire un PDF in G3:

gs -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=tiffg3 -sOutputFile=file_di_destinazione.tif -f file_di_origine.pdf

Funziona?. Dipende. Mandare i fax in questo modo è un vero casino, non sempre il fax parte e l'analisi delle risposte date da loglevel è spesso inutile in quanto il linguaggio utilizzato è il Klingon. Ci sono riuscito solo una volta e il risultato è stato dall'altra parte la ricezione di una porzione di quanto spedito, ad una risoluzione inaccettabile. Occorrerebbe intervenire con i vari comandi di conversione delle immagini (tipo imagemagik convert, pdftk ecc...) che contengono una miriade di opzioni, parametri e possibilità davvero incredibili. A provarle tutte, e riuscire ad ottenere risultati accettabili, sarebbe opportuno lo sviluppo di un applet che faccia in modo semi-automatico tutte le conversioni del caso. Due mesi fra sviluppo e test...e chi mi ripaga? Forse non ne vale la pena, a meno di non volere acquisire un pò di fama. Come analisi finale, per gli utonti questa soluzione è improponibile. Per gli utenti evoluti, vorrei dare un suggerimento...il fax è uno strumento obsoleto, roba del passato, della preistoria... non è più semplice l'invio di un allegato ad una mail? E' più veloce ed è gratis. E per chi non ha l'e-mail ma ha solo il fax?...che si fo**a. Io con le aziende dinosauro non ci voglio fare affari. Al massimo potrei offrire una buona consulenza per ammodernarli e cambiare, sempre che non incontri troppa resistenza al cambiamento. Alla prossima.

P.s. Avanzare l'orologio di tre ore. Ripeto: Avanzare l'orologio di tre ore.

martedì 10 febbraio 2009

OCR - riconoscimento caratteri

Oggi mi sono dedicato ad una attività di ricerca. Vorrei poter ricavare il testo contenuto in documenti "scannerizzati" (nessuna polemica per l'uso del termine, sul quale sussistono varie interpretazioni).
E' più una curiosità che altro, dato che in ambiente linux non mi risulta ci sia così tanta scelta per questa specifica esigenza. Dai pacchetti elencati nei repository che utilizzo, da una rapida ricerca, trovo alcuni programmi che sembrano corrispondere alla soluzione del problema.
Clara: ha una interfaccia grafica molto spartana, il che va bene per le persone come me che si concentrano sulle funzionalità e velocità di esecuzione più che all'estetica. Accetta formati PBM e PGM per cui ho scartato immediatamente questa soluzione.
unpaper: è uno strumento di post processing delle pagine scannerizzare ed un pre processing per l'ocr vero e proprio. Contiene una miriade di opzioni che permettono la "pulizia" dell'immagine ottenuta dalla scannerizzazione su tutto ciò che non sembra essere testo. E' un utility, a linea di comando, orientata per la preparazione di pagine provenienti da libri ed opere, quindi, a quanto mi sembra di aver compreso, per lavori batch su grandi quantità di dati.
tesseract: sperimentazione in corso. E un progetto Open source, originariamente sviluppato da HP, ora acquisito da bigG. Speriamo in un implementazione di funzionalità che ne migliorino l'utilizzabilità, anche se sembra che funzioni solo sul formato tiff.
gocr: tool a linea di comando, accetta formati pnm, pbm, ppm, pcx e tga. L'ho configurato per funzionare con xsane collegato ad uno scanner di rete dotato di ADF (caricatore automatico). Risultato deludente, quello che si vede in foto. Scansione a 400dpi in bianco e nero (binario). Il testo risulta illeggibile, sicuramente inadatto per un elaborazione. Con un tale risultato, tanto vale digitare a mano il testo, si fa prima.
Procedo con gli esperimenti. Alla prossima

P.S. uno a zero per golia. Ripeto: uno a zero per golia.

venerdì 6 febbraio 2009

Pennarelli e ink jet (4a parte)

Non ho resistito ed ho proceduto con la ricarica dei pennarelli colorati che conservavo non ricordo per quale motivo. Se ci si chiede..."ma i pennarelli colorati con inchiostro ad acqua, si possono ricaricare?", la risposta è SI. Funziona. Ovviamente occorre considerare la cosa solo se si è ben conservata la punta, se si possono aprire (con qualche eccezione), se il serbatoio e la spugna interna sono accessibili con un ago da siringa.
Pennarelli con tampone imbevuto. Rientrano in questa famiglia i Tratto pen per intenderci. Il tampone è solitamente un cilindretto morbido di materiale assorbente, confezionato in un tubicino di plastica trasparente sottile. Se è estraibile dal corpo del pennarello, si infila l'ago all'interno del tampone (se è lungo, alternativamente in entrambe le estremità) e si osserva, iniettando il colore desiderato, e se l'involucro dello stesso è trasparente, il diffondersi del colore. Quando si nota che sta per arrivare alle estremità, ci si ferma. Iniettare lentamente, senza premere eccessivamente. Si ri-assembla il pennarello e si attende qualche minuto che la capillarità imbeva per bene la punta.
Pennarelli con cartuccia intercambiabile: Rientrano in questa famiglia gli Osama per capirci. Si riempie per tre quarti il serbatoio plastico e si aggiungono poche gocce di acqua distillata per diluire il tutto. Alternativamente si può aggiungere alcool isopropilico per facilitare l'evaporazione e l'asciugatura dell'inchiostro sulla carta. Tenere conto che l'evaporazione del solvente potrebbe "inscurire" la carta termica (es. quella dei fax di una volta).
Pennarelli tipo Stabilo Boss: hanno il corpo sigillato ad ultrasuoni e non è consigliabile tagliarli o forarli. Per la ricarica basta infilare lentamente l'ago in prossimità della punta, vicino all'imbocco, con direzione leggermente obliqua e senza interessare l'area "a scalpello" della punta. Nello spingere, per evitare che la punta rientri nel serbatoio per effetto della pressione esercitata, è meglio ruotare l'ago in modo che avanzando si credi una sede. Una volta tolto l'ago, l'elasticità della punta andrà a richiudere parzialmente il condotto creato (così l'inchiostro non esce "a fiotti" ma resta all'interno). Tale operazione non può essere ripetuta per più di due o tre volte a causa di un inevitabile danneggiamento della punta stessa. Si tenga inoltre conto che l'inchiostro iniettato non è evidenziatore (fosforescente), per cui l'effetto finale sarà quello di un normale pennarello colorato.
Per le varie tonalità non c'è problema: si dosa nella siringa, ad occhio, la miscela di inchiostro tenendo conto che :
giallo + blu = verde
giallo + rosso = arancione
verde + blu o rosso = marrone
rosso + blu=viola
ecc...
Punte secche: Per i pennarelli rinsecchiti dal tempo, si immerge la punta in acqua tiepida sino a quando non si nota scendere del colore dalla punta verso il fondo del contenitore utilizzato. Io uso i bicchierini di plastica dello yogurt, uno per colore per evitare contaminazioni. Se le punte sono totalmente rinsecchite e se sono estraibili, si può pensare ad un processo di bagnatura prolungata in soluzione leggermente "solvente" (il Cyclon sgrassante fa miracoli) o in acqua calda (anche a 40 gradi). Qualora dovessi imbattermi in punte particolarmente ostiche, mi riservo di provare a bollirle....
Punte rovinate: Le punte sono fatte da una specie di materiale poroso abbastanza consistente. Può capitare che si rovinino perdendo la forma originale o che vengano sporcate da grafite o inchiostro scuro durante un uso poco accorto. In alcuni modelli di pennarelli, è possibile rigenerare la punta. Se si riesce ad estrarla (es. gli stabilo boss evidenziatori), basta girarla e rimetterla in sede. In alcuni casi la punta è simmetrica, sia per le punte a cono che per le punte "a scalpello".
ATTENZIONE: Usare sempre i quanti e proteggere il tavolo con molta carta assorbente sopra uno strato di giornali vecchi. Indossare vestiti "a perdere", non illudersi mai di fare un lavoro pulito ed indossare i pantaloni o la camicia preferita. L'inchiostro usato per la ricarica, quello per le stampanti a getto di inchiostro, è iper concentrato e sporca tantissimo. I quanti devono essere di qualità. A me è capitato, per risparmiare, di imbattermi in una scatola di guanti....bucati e difettosi. Risultato: da due giorni non riesco a togliermi i residui di blu da sotto l'unghia del pollice destro ed andare in giro con le dita "sporche" non è proprio una bella cosa.
Per finire, visto che orientare gli acquisti può modificare la politica dei produttori verso i rifiuti zero, se si pianifica di acquistare pennarelli colorati (ad esempio per la cancelleria dell'ufficio o per i ragazzi che vanno a scuola), preferire quelli con involucro apribile o con cartuccia di ricarica (non serve fare scorta di cartucce quando si possono riempire a piacere). Per ultimo, occorre anche sensibilizzare gli utilizzatori ad usare gli strumenti di scrittura con cautela e cura, per farli durare nel tempo. I vantaggi?: nell'immediato risparmio economico, nel lungo periodo ambiente più pulito e discariche (o inceneritori) progressivamente sempre più inutili. Cambiare si può, basta volerlo. Alla prossima

P.S. Il ciccione è uscito. Ripeto: Il ciccione è uscito.