Progettazione e Realizzazione di un Sistema per l'estrazione di Informazioni da Tavole Tecniche

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Progettazione e Realizzazione di un Sistema per l'estrazione di Informazioni da Tavole Tecniche"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI PARMA Dipartimento di Matematica e Informatica Corso di Laurea in Informatica Progettazione e Realizzazione di un Sistema per l'estrazione di Informazioni da Tavole Tecniche Design and Implementation of a System for Information Extraction from Technical Drawings Relatore: Chiar.mo Prof. Federico Bergenti Correlatore: Ing. Luigi Capuzzello Candidato: Alessio Iotti Anno Accademico 2012/2013

2

3 Alle mie sorelle ed ai miei genitori. Ad Anita

4

5 Indice 1 Strumenti Utilizzati Tesseract Framework AForge.NET Libreria ITextSharp Problematiche Arontate Considerazioni Iniziali Ricerca dei Blob Riconoscimento dei Valori dei Codici Problemi Legati alla Verica Ricerca del Codice della Tavola Soluzioni Adottate Ricerca dei Blob Riconoscimento dei Valori dei Codici Verica dei Risultati e Ricerca del Codice Tavola Implementazione di syocr Considerazioni Iniziali Programma TrainingMode Maschera di congurazione Maschera di addestramento Classe OCREngine Classe pathmanager Classe Analyzer Altre classi Programma NormalMode Maschera di verica Maschera di aggiunta area codice tavola Dierenze con il programma TrainingMode Collaborazione tra i Due Programmi

6 iv INDICE Bibliograa 43

7 Introduzione Il lavoro descritto in questa tesi è la realizzazione di un sistema per l'estrazione e l'elaborazione di informazioni da tavole tecniche. Tale programma, denominato syocr, è stato sviluppato per l'azienda Sygest S.r.l. con lo scopo di essere integrato all'interno della procedura di gestione digitale dei cataloghi ricambi. In particolare, l'obiettivo di syocr è quello di ricavare da un insieme di tavole le informazioni necessarie a costruire dinamicamente un catalogo ricambi navigabile. Il programma è stato sviluppato interamente in linguaggio Visual Basic.NET, avvalendosi anche di strumenti di terze parti. Tali strumenti sono stati il software OCR Tesseract, il framework AForge.NET (per l'elaborazione delle immagini) e la libreria ITextSharp (per la creazione e modica di documenti PDF). Il lavoro di tesi viene strutturato come segue: Nel primo capitolo vengono presentati gli strumenti utilizzati, le loro caratteristiche ed i loro limiti. Viene inoltre spiegato come essi collaborino con syocr. Nel secondo capitolo vengono illustrati i problemi che il progetto deve risolvere, sia quelli conosciuti a priori che quelli emersi durante lo sviluppo. Nel terzo capitolo viene spiegato come le limitazioni viste nel capitolo precedente siano state risolte, e con quali margini di miglioramento. Il quarto capitolo è dedicato all'implementazione ed illustra le tecniche utilizzate, le classi principali, il funzionamento e le interazioni tra le varie maschere. Per ultima è presente una conclusione che riassume i risultati ottenuti e propone delle possibili estensioni di quanto no ad ora realizzato.

8

9 Capitolo 1 Strumenti Utilizzati In questo capitolo vengono descritti gli strumenti utilizzati e le loro caratteristiche. Nella prima parte viene illustrato il funzionamento di Tesseract e della sua procedura di addestramento. Mentre nella seconda parte vengono presentate gli altri componenti utilizzati e il loro ruolo all'interno del programma. 1.1 Tesseract Tesseract è un software OCR 1 Open Source, rilasciato sotto licenza Apache 2.0, che fornisce alcuni applicativi utilizzabili a riga di comando ed una API 2 C++ per la programmazione. Sebbene non sia dotato di interfaccia graca, su Internet sono disponibili programmi sviluppati da terze parti che sopperiscono a questa mancanza. Prima di spiegarne il funzionamento, viene presentata una breve storia di Tesseract tracciante i momenti salienti del suo percorso di sviluppo. Storia Il motore di Tesseract fu sviluppato come software proprietario della Hewlett Packard nei suoi laboratori di Bristol in Inghilterra e di Greeley in Colorado tra il 1985 ed il Nel 1996 vennero ultimate alcune modiche per permettere a Tesseract di essere utilizzato anche in ambiente Windows. Nel 1998 venne parzialmente 1 Optical Character Recognition, sono sistemi che convertono un'immagine contenente testo in testo digitale modicabile tramite un editor (per esempio Emacs, Vim o il blocco note di Windows). 2 Application Programming Interface, ovvero un insieme di procedure raggruppate per formare un insieme di strumenti specici preposti alla risoluzione di determinati problemi.

10 4 Strumenti Utilizzati migrato il codice no a quel momento prodotto dal linguaggio C al linguaggio C++. Tale codice è stato poi convertito completamente per poter essere compilato da un qualsiasi compilatore C++. Nel decennio successivo lo sviluppo di Tesseract rimase pressoché fermo, no al 2005, anno in cui la Hewlett Packard decise di rilasciarlo come software Open Source. Da allora lo sviluppo è proseguito per volontà dell'università di Las Vegas (Nevada), grazie anche alla sponsorizzazione fornita da Google a partire dal Funzionamento Essendo Tesseract un software OCR utilizzato per riconoscere testo all'interno delle immagini, i suoi input sono semplicemente l'immagine nella quale riconoscere il testo e un le di output (tipicamente di testo) nel quale scrivere ciò che è stato trovato. Inoltre, è disponibile tutta una serie di parametri che è possibile impostare anché l'intera procedura risulti più accurata in relazione a ciò che si desidera cercare. Un comando Tesseract ha la forma seguente: tesseract immagine output [-l lingua] [-psm N] [lecong] Dove immagine è il percorso, assoluto o relativo, dell'immagine da elaborare e output è il nome (senza estensione) del le di output dove verranno scritti i valori trovati. Il parametro opzionale -l lingua indica quale le di lingua utilizzare. Un le di lingua è un le in formato traineddata contenente tutte le informazioni di cui Tesseract ha bisogno per riconoscere un determinato insieme di caratteri, che vengono appunto raccolti in base alla lingua di appartenenza. Si possono specicare più le di lingua dierenti, concatenandoli tramite l'operatore +. Il le di lingua utilizzato di default è eng, relativo alla lingua Inglese. Il parametro opzionale -psm N specica quale modalità di page segmentation mode utilizzare. Questa modalità indica all'ocr quali analisi svolgere sull'immagine ed assume che questa abbia determinate caratteristiche, in modo tale da semplicare il processo di ricerca. I valori possibili sono: - 0: Eettua solo la determinazione dell'orientamento del testo e dei caratteri (Orientation and Script Detection); - 1: Eettua una segmentazione di pagina automatica utilizzando OSD;

11 1.1 Tesseract 5-2: Eettua una segmentazione di pagina automatica, ma senza utilizzare OSD o l'ocr; - 3: (Default) Eettua una segmentazione di pagina automatica più completa, sempre senza utilizzare OSD; - 4: Assume che sia presente una singola colonna di testo di dimensione variabile; - 5: Assume che sia presente un unico blocco uniforme di testo allineato verticalmente; - 6: Assume che sia presente un singolo blocco uniforme di testo; - 7: Tratta l'immagine come se fosse una singola linea di testo; - 8: Tratta l'immagine come se fosse una singola parola; - 9: Tratta l'immagine come se fosse una singola parola in un cerchio; - 10: Tratta l'immagine come se fosse un singolo carattere. Il parametro opzionale lecong serve per specicare il nome di un le di congurazione che si desideri utilizzare (sia quelli disponibili di base che quelli creati dall'utilizzatore). Un le di congurazione per Tesseract è un semplice le di testo contenente una lista di variabili con i rispettivi valori separati da uno spazio e con una coppia variabile valore per linea. Per esempio: il le digit indica di eettuare solo la ricerca dei caratteri corrispondenti a cifre presenti all'interno dell'immagine. Procedura di addestramento Come spiegato nella sezione precedente, Tesseract mantiene le informazioni necessarie alla ricerca dei caratteri in specici le di lingua. Tuttavia, può succedere che le informazioni in essi contenute siano incomplete ed in questo caso è necessario istruire l'ocr al riconoscimento dei caratteri mancanti. I caratteri mancanti non sono necessariamente lettere non presenti nel le di lingua. Possono anche essere lettere scritte utilizzando un font particolare, tale per cui Tesseract non riesca ad associarle ad uno dei caratteri che conosce. Esiste la possibilità di insegnare all'ocr a riconoscere tali caratteri mediante la procedura di addestramento (training). Tale procedimento consiste nel creare un nuovo le di lingua contenente le informazioni relative ai caratteri che desideriamo vengano riconosciuti, in modo che possa essere utilizzato assieme ai le di lingua originale.

12 6 Strumenti Utilizzati Fasi La procedura di addestramento di Tesseract non è breve, ma può essere automatizzata no a raggiungere un buon livello di accuratezza. Le fasi principali del processo di training sono le seguenti: 1. Generazione del le box. Tale le contiene le bounding box 3 dei caratteri da riconoscere, ognuna di esse associata al valore che Tesseract ritiene corretto. Questo le deve essere modicato manualmente per sostituire il valore riconosciuto dall'ocr con il valore giusto; 2. Addestramento di Tesseract a partire dal le box. Questa fase genera un le tr contenente varie informazioni (su forma, font utilizzato e dati necessari a costruirne un prototipo) per ogni carattere presente nel le box modicato in precedenza; 3. Generazione del le unicharset. Tale le serve per specicare a Tesseract l'insieme dei possibili caratteri che può mandare in output, basandosi sulle informazioni contenute dal le tr appena generato; 4. Creazione dei prototipi dei caratteri, parte centrale del processo di riconoscimento. Vengono creati clusterizzando le proprietà raccolte nei le generati in precedenza. I le generati sono shapetable, inttemp, pmtable e normproto; 5. Combinazione dei le, per generare il le traineddata. Questa fase genera solo il le di lingua, ma è necessario che i le da combinare assieme abbiano come intestazione il nome della lingua che si vuole generare (il le si chiamerà lingua.traineddata). Oltre a quanto detto nora, è importante sapere che i caratteri sui quali addestrare Tesseract possono essere scritti in più font diversi. Quindi è necessario creare un le denominato font_properties contenente una lista di tali font, con una linea per ognuno di essi. Ogni linea è formata dal nome del font (che deve essere privo di spazi), uno spazio e cinque valori separati da spazi che indicanti la tipologia del font: italico, grassetto, ssato, serif (cioè con grazie) e gotico. Inoltre il nome del font in questo le deve essere uguale al nome del font nel le tr, dove viene riportato per ogni carattere ivi presente. 3 Una bounding box è un'area che delimita un determinato contenuto. Nel nostro caso avrà la forma di un rettangolo e memorizzarla signica salvarne le coordinate.

13 1.1 Tesseract 7 La procedura di training viene lanciata a partire da una immagine contenente tutti i caratteri che Tesseract non riesce a riconoscere o per i quali restituisce un valore sbagliato. Nonostante tutta la procedura sia automatizzabile, la correzione del le box rimane un passaggio da eettuare manualmente. Nel caso di syocr viene richiesto l'intervento dell'utente tramite una maschera che lo aiuti nel processo, nascondendogli i dettagli implementativi. Aggiornamento di addestramenti precedenti Grazie alla procedura di addestramento Tesseract risulta molto versatile. Purtroppo può succedere che sia necessario aggiungere caratteri ad un le di lingua generato in precedenza, piuttosto che crearne direttamente uno nuovo. Esiste la possibilità di farlo, ma il procedimento richiede più attenzione ed è dicilmente automatizzabile. Questo perché non è possibile aggiungere dati ad un le traineddata in maniera incrementale. Le fasi attraverso le quali questo processo di aggiornamento si sviluppa sono le seguenti: 1. Filtrare tutti i box le, selezionando e mantenendo solo i caratteri desiderati; 2. Lanciare il processo di addestramento descritto nella sezione precedente sui box le ottenuti al passo 1. per ottenere i le tr; 3. Modicare i le tr per ogni font (per esempio basandosi su quelli già presenti nei vecchi le di lingua) aggiungendoci i propri dati per ottenere l'insieme di caratteri desiderato; 4. Ripetere il passo 3. per ogni box le ottenuto dall'esecuzione del passo 1.; 5. Terminare il processo di addestramento con i le tr appena generati. Tale procedura è complessa, e richiede una certa attenzione per poter essere eseguita correttamente. Una soluzione alternativa e più semplice consiste nel generare via via nuovi le box e tr e poi utilizzarli tutti insieme nel corso della procedura di addestramento. Il limite di questa strategia è che, per la generazione di un singolo le di lingua, vi è un limite massimo di 32 le tr. Siccome un le tr può contenere informazioni su uno ed un solo font, anch'essi sono limitati ad essere 32. Nel caso di syocr un font corrisponde al risultato di un addestramento, in quanto non è possibile fare distinzioni precise (a priori) su quelli utilizzati nelle tavole.

14 8 Strumenti Utilizzati Inoltre i box le devono contenere la stessa sequenza di caratteri dei le tr, e vanno dunque raggruppati ed aggiornati nello stesso ordine. 1.2 Framework AForge.NET AForge.NET è un framework scritto in linguaggio C# utilizzato principalmente nei campi dell'intelligenza articiale 4 e della visione articiale 5 ed in minor misura anche per elaborazione di immagini, reti neurali, algoritmi genetici, robotica ed altro ancora. Caratteristiche utilizzate in syocr In questo progetto AForge viene sfruttato solamente per l'elaborazione delle immagini, con l'obiettivo di restringere l'area dove Tesseract deve eettuare il riconoscimento del testo. In particolare vengono sfruttati i namespace AForge.Imaging e AForge.Imaging.Filters. Il primo contiene metodi e interfacce per l'elaborazione di immagini intesa nel senso più ampio possibile, dalla ricerca di forme alla semplice modica di esse mediante l'applicazione di ltri (campo dell'altro namespace utilizzato). Il secondo fornisce metodi ed interfacce per trasformare, mediante l'utilizzo di ltri come già accennato, l'immagine sorgente in un oggetto nuovo direttamente manipolabile. 1.3 Libreria ITextSharp ITextSharp è il porting per il framework.net della libreria Open Source Java IText. Viene utilizzata per la creazione, la modica e l'elaborazione di documenti in PDF ed è molto popolare, come dimostrano i cinque milioni di download a metà 2013 dichiarati dal solo sito di le hosting SourceForge. 4 Insieme di algoritmi e tecniche che consentano alle macchine di mostrare capacità intellettive il più possibile simili a quelle possedute dall'uomo. 5 Insieme dei processi e degli studi aventi come obiettivo la costruzione di un modello approssimato del mondo reale a partire da immagini bidimensionali. Suo scopo principale è riprodurre la vista umana in modo quanto più possibile completo.

15 1.3 Libreria ITextSharp 9 Caratteristiche utilizzate in syocr In syocr ITextSharp è stata utilizzata per elaborare il contenuto dei cataloghi ricambi in PDF al ne di costruire documenti pronti per essere resi navigabili, evidenziando le aree che dovranno essere linkate 6. Viene utilizzato il namespace itextsharp.text, ed in particolare le classi PdfWriter e PdfReader, oltre a tutta una serie di classi utilizzate per gestire il contenuto dei documenti (PdfRectangle, Document, Image ed altre). La classe PdfReader serve semplicemente per leggere il contenuto di un documento PDF, e fornisce metodi utili per navigarlo. In questo progetto viene sfruttata per ricavare le pagine contenenti le tavole, che saranno quelle che andremo ad elaborare una volta trasformate in immagini. Le classi PdfWriter e PdfStamper servono entrambe per scrivere contenuto su un documento PDF. La prima sia su documenti già creati che da creare, mentre la seconda deve essere associata ad un oggetto di classe PdfReader e quindi ad un PDF già esistente. In syocr vengono entrambe utilizzate per scrivere il contenuto risultato dell'elaborazione sul documento PDF da restituire come output. 6 Con area linkata si intende un'area del documento PDF nella quale sia presente un collegamento ipertestuale, con determinati parametri, ad un'altra risorsa o programma.

16

17 Capitolo 2 Problematiche Arontate In questo capitolo vengono introdotte ed illustrate le problematiche che hanno portato alla realizzazione di questo progetto e quelle emerse durante lo sviluppo. 2.1 Considerazioni Iniziali Il programma syocr può manipolare due tipi di input diversi: ˆ Catalogo ricambi in formato PDF: è un documento contenente una serie di tavole tecniche (solitamente generate con sistemi CAD 1 ), ognuna delle quali associata ad una distinta dei pezzi disegnati in essa; ˆ Immagine (in formato tif, png oppure jpg) di una singola tavola, in questo caso senza la distinta dei singoli pezzi. Queste immagini sono solitamente il risultato di scansioni di vecchi cataloghi ricambi cartacei. La distinta è una tabella dove ad ogni codice presente nella tavola associata vengono collegate e mostrate varie informazioni (ad esempio la descrizione o la marca). Nel caso dei cataloghi in formato PDF ciò che si richiede al programma è il recupero di tutti i codici presenti nella tavola in modo tale da poter associare ad ognuno di essi i dati presenti nella distinta. Per le immagini si vogliono solo ricavare i codici presenti nella tavola, in quanto la distinta è già presente in un altro formato. Come accennato nel capitolo precedente, l'utilizzo di AForge ha lo scopo di restringere l'area nella quale Tesseract eettuerà la sua scansione. I codici 1 Computer Aided Design, termine che indica le tecnologie software volte a supportare l'attività di disegno tecnico di modelli di manufatti reali.

18 12 Problematiche Arontate contenuti nelle tavole sono spesso (anche se non sempre) contenuti in aree delimitate da cerchi, quindi lo scopo di AForge è appunto trovare queste aree, che chiameremo blob. 2.2 Ricerca dei Blob Per AForge un blob è una forma o un'area dell'immagine che si sta elaborando che abbia determinate proprietà, tipicamente denite da utente. I problemi legati alla ricerca di questi blob sono principalmente due: ˆ I codici presenti nelle tavole non sono sempre contenuti in aree di forma circolare. Potrebbero essere di un'altra forma (spesso ellittica) oppure potrebbero non essere delimitate, rendendo di fatto impossibile identicarne la posizione; ˆ Queste aree potrebbero non essere sempre della stessa dimensione. I metodi forniti da AForge limitano la dimensione dei blob da cercare ad un certo valore. Nel nostro caso, i cerchi dovranno avere un diametro di lunghezza non superiore a tale valore massimo. Il secondo problema è aggirabile, in quanto AForge permette di stabilire questa dimensione massima. I rischi nascono dal fatto che tale parametro può variare molto da catalogo a catalogo e talvolta anche da tavola a tavola. Invece il primo problema non è risolvibile con l'utilizzo degli strumenti presentati no ad ora: AForge non è in grado di riconoscere le forme ellittiche, e comunque i codici non delimitati non riusciremmo a riconoscerli. 2.3 Riconoscimento dei Valori dei Codici Tesseract è accurato, ma non infallibile. Può capitare che una tavola presenti dei caratteri che non riesce a riconoscere, o per i quali restituisce un valore errato. Per questo è necessario introdurre una procedura che consenta all'utente di addestrare l'ocr sui caratteri non riconosciuti (quelli erroneamente valutati non sono univocamente determinabili). Bisogna perciò mettere in piedi un sistema per automatizzare il più possibile il procedimento senza generare troppi le di lingua, che potrebbero rallentare parecchio l'esecuzione del programma. Inoltre i le così generati dovranno essere già disponibili per la successiva scansione. Per quanto riguarda i codici erroneamente valutati (e quelli non trovati) è necessario introdurre una procedura di verica che consenta all'utente di

19 2.4 Problemi Legati alla Verica 13 correggerne, aggiungerne o rimuoverne, il tutto nella maniera più intuitiva possibile. 2.4 Problemi Legati alla Verica La procedura di verica non è banale, in quanto deve consentire all'utente di visualizzare ciò che sta modicando. Durante la scansione di Tesseract i dati relativi a coordinate, dimensione e valore dei blob vengono gestite interamente dal programma. Invece durante la verica tali informazioni devono essere estrapolate dal lavoro dell'utente. Il problema principale è la gestione delle coordinate, in quanto le dimensioni della tavola utilizzata durante la scansione e le dimensioni della tavola mostrata durante la verica possono essere diverse (e nella maggioranza dei casi lo sono). Serviranno dei metodi che eettuino correttamente la conversione tra le dimensioni e che separino la gestione delle coordinate utilizzate in fase di verica dalla gestione delle coordinate eettive sull'immagine. Queste ultime saranno quelle che verranno utilizzate per evidenziare le aree da linkare sul documento PDF nale. 2.5 Ricerca del Codice della Tavola Nella maggior parte delle tavole è anche presente il codice della tavola stessa, utilizzato per distinguere tra di loro le distinte. Visto che è contenuto nell'immagine, Tesseract può essere utilizzato per riconoscerlo. Il problema è che il codice tavola non è contenuto in un'area circolare, quindi non possiamo considerarlo alla stregua degli altri blobs. Ci serve una procedura per selezionare l'area nella quale Tesseract dovrà andare a cercare questo codice. Per fare questo è comoda una maschera simile a quella utilizzata nella procedura di verica. In questo caso la gestione delle coordinate è più semplice, ma è comunque presente a causa del fatto che le immagini delle singole tavole verranno ridimensionate.

20

21 Capitolo 3 Soluzioni Adottate In questo capitolo viene spiegato come le problematiche illustrate nel capitolo precedente sono state analizzate e risolte all'interno del programma, in accordo con le tecnologie ed i metodi utilizzati. 3.1 Ricerca dei Blob Nel capitolo precedente sono stati introdotti due problemi relativi alla ricerca dei blob nell'immagine della tavola: la forma dell'area che delimita il codice non è univoca e la sua dimensione può variare molto anche all'interno dello stesso catalogo. Per quanto riguarda il primo problema non si può lanciare Tesseract su un'area troppo vasta, perché non riusciremmo a disambiguare il testo relativo ai codici dal restante testo contenuto nella tavola. Quindi sfruttiamo AForge per restringere la ricerca ai soli codici delimitati da aree circolari. Per i codici non delimitati o delimitati da aree di forma non circolare, si introduce una procedura di verica che consenta all'utente di selezionare manualmente l'area contenente il codice stesso e di assegnarle un valore. Tale procedura mostra all'utente la tavola e memorizza le nuove selezioni fatte, le modiche eettuate e i blob rimossi (per esempio perché falsi positivi 1 ). Tale procedura è soggetta ai problemi legati alle coordinate spiegati nel capitolo precedente, per i quali vedremo la soluzione adottata nel prosieguo di questo capitolo. Per quanto riguarda il secondo problema è stata parametrizzato il valore da attribuire alla dimensione massima dei blob, in modo tale che l'utente 1 Nel nostro caso un falso positivo è un'area circolare contenente un valore che non è un codice valido ma per le quali Tesseract restituisce un valore (che dunque non sarà signicativo).

22 16 Soluzioni Adottate (che ha un'idea di quanto sia questa dimensione massima) possa modicarla come crede. Chiaramente aumentando la dimensione massima aumenta anche il numero di falsi positivi riscontrati ed, essendo in generale più alto il numero di blob trovati all'interno della tavola, aumenta anche il tempo di elaborazione complessivo. 3.2 Riconoscimento dei Valori dei Codici Oltre ai falsi positivi, c'è anche il problema relativo ai valori che Tesseract non riesce a riconoscere. Per questi valori è stata introdotta una procedura di addestramento dell'ocr che, a partire dalle immagini dei singoli blob non riconosciuti (ricavate durante la scansione della tavola) permette all'utente di specicare per essi il valore corretto. Tale valore verrà utilizzato per modicare dinamicamente il box le generato dal primo passo della procedura di training prima di terminare le successive fasi del processo, che sono automatizzate. Essendo una procedura che presenta molti vincoli, si è scelto di nascondere tali limitazioni all'utente adottando soluzioni quanto più possibile generiche. Di seguito vengono elencate tutte le strategie adottate: ˆ Quando Tesseract non riconosce dei caratteri, assegna loro il nome di font UnknownFont. Questo aiuta la modica del le tr e del le font_properties, in quanto è suciente generare un nome di font a livello di programma e sostituirlo all'interno dei due le sopracitati. Per quanto riguarda le caratteristiche del font, siccome nella maggioranza dei casi i caratteri sono cifre, tutti i valori di tali proprietà saranno settati a 0 (ovvero False); ˆ Nel momento in cui capita di dover aggiornare un addestramento svolto in precedenza, verranno utilizzati i le box e tr generati in precedenza (che quindi resteranno memorizzati no alla chiusura del programma), oltre a quelli appena ottenuti, per terminare la procedura. Nel caso in cui si superi il limite di 32 le, verrà generato un nuovo le di lingua; ˆ La sincronizzazione tra le informazioni contenute nei vari le è facile da mantenere, in quanto la procedura automatica svolge sempre gli stessi passi, seguendo l'ordine necessario anché i le vengano generati correttamente. La procedura di addestramento può essere eseguita solamente se i caratteri sui quali istruire Tesseract sono almeno cinque. In caso contrario non viene

23 3.3 Verica dei Risultati e Ricerca del Codice Tavola 17 generato il box le perché sono stati raccolti troppi pochi dati per poter creare un le di lingua signicativo. 3.3 Verica dei Risultati e Ricerca del Codice Tavola Le maschere che si occupano della verica dei risultati ottenuti dalla scansione di Tesseract e della selezione dell'area dove cercare il codice tavole si basano sullo stesso principio di funzionamento. In entrambi i casi viene visualizzata una pagina del documento PDF alla volta (quindi anche le pagine contenenti le distinte, che in questo caso saranno ignorate) e per ognuna di esse viene data all'utente la possibilità di: ˆ Intervenire sui valori dei blob riconosciuti da Tesseract, con lo scopo di aggiungerne, modicarne o rimuoverne (nel caso della verica); ˆ Selezionare un'area della pagina dove verrà ricercato il codice tavola. Tale area è unica, nel senso che Tesseract cercherà il codice tavola, per ogni pagina, solo nello spazio contenuto all'interno della selezione dell'utente. L'immagine che viene utilizzata per eettuare queste operazioni non è l'immagine originale della pagina del documento. Per agevolare la ricerca di Tesseract le singole pagine vengono ingrandite ad una risoluzione di 600 DPI 2, e durante la verica tale immagine viene ridimensionata per poter essere contenuta all'interno della maschera. Per ogni le elaborato viene mantenuto un le in formato XML contenente una riga per ogni blob rilevato con varie informazioni, tra le quali le coordinate dell'angolo superiore sinistro dell'area, la sua larghezza e la sua altezza (oltre ovviamente al valore riconosciuto). Tali valori si riferiscono inizialmente all'immagine scalata a 600 DPI, e tutte le modiche e le aggiunte che l'utente farà sulla sua controparte ridimensionata andranno memorizzate tenendo conto del fattore di conversione tra le coordinate originale e quelle dell'immagine contenute nella maschera. Questa conversione va eseguita con attenzione, in quanto risulta direttamente sull'impressione che l'utente ha dell'intuitività di tutta la procedura (in quanto tali aree vengono visualizzate se l'utente lo richiede). Grazie ai 2 Dots Per Inch, è un valore che indica la quantità di punti stampati o visualizzati su una linea lunga un pollice (2.54 centimetri).

24 18 Soluzioni Adottate dati in possesso del programma, si calcola il rapporto tra le dimensioni al caricamento dell'immagine nella maschera e poi tale rapporto viene utilizzato ogniqualvolta ce ne sia bisogno per ricavare delle coordinate.

25 Capitolo 4 Implementazione di syocr In questo capitolo verranno descritte le classi e le maschere implementate per il programma syocr. Nella prima sezione viene illustrata la struttura utilizzata, giusticando la scelta di dividere l'applicazione in due programmi distinti. Nelle successive due sezioni sono dedicate alla descrizione dei due programmi, indicando le principali maschere e classi realizzate. L'ultima sezione tratta dell'interazione tra i due programmi durante un ciclo di esecuzione completo. 4.1 Considerazioni Iniziali La procedura di addestramento di Tesseract e la procedura di scansione precedente alla verica dei risultati sono due processi che devono essere separati. Questo perché la procedura di training assume che i dati sui quali si lavora non siano sicuri, e quindi non prevede di dover realizzare il documento PDF nale. Invece la scansione precedente al processo di verica considera che l'ocr sia in grado di riconoscere la maggior parte dei codici presenti nelle varie tavole. Per questo motivo si è deciso di separare questi due processi scrivendo due programmi distinti, che presentano molte somiglianze, e collaborano tra di loro. I programmi possono essere lanciati separatamente oppure uno di seguito all'altro, prima quello che implementa la procedura di addestramento e successivamente quello che eettua scansione, verica e realizzazione del documento PDF nale. I programmi sono stati chiamati TrainingMode e NormalMode, e nel seguito di questo documento verranno indicati utilizzando questi nomi.

26 20 Implementazione di syocr 4.2 Programma TrainingMode La maschera iniziale del programma contiene due TextBox nelle quali inserire il percorso della cartella contenente i le da elaborare ed il percorso della cartella dove mettere i le generai dall'elaborazione. Queste TextBox sono associate a due pulsanti... che consentono di selezionare le cartelle desiderate tramite una maschera minimale di explorer. Inoltre presenta tre pulsanti: Figura 4.1: Maschera iniziale del programma ˆ Congura - Per aprire la maschera di congurazione; ˆ Training - Per lanciare la scansione di Tesseract al termine della quale si aprirà (se necessario) la maschera di addestramento; ˆ Elabora PDF - Per chiudere la maschera e passare all'esecuzione del programma NormalMode. Nelle sezioni successive verranno prima illustrate le maschere di congurazione e addestramento, per poi passare alla descrizione delle classi più signicative del programma Maschera di congurazione La maschera di congurazione viene utilizzata per consentire all'utente di modicare i valori predeniti dei parametri che Tesseract richiede per la sua scansione. La dimensione dei blob (espressa in pixel) indica la lunghezza massima del diametro delle aree circolari che AForge cercherà all'interno della

27 4.2 Programma TrainingMode 21 Figura 4.2: Maschera di congurazione tavola. Tale valore è inizialmente settato a 200, ma può essere modicato a seconda delle esigenze dell'utente. Sono poi presenti due ListBox che elencano rispettivamente le lingue disponibili e le lingue che verranno utilizzate per la scansione. Di default sono selezionate tutti le di lingua trovati sotto la cartella Tesseract\tessdata 1, ma l'utente può scegliere di aggiungerne o rimuoverne, sia tutte che solo alcune di esse. Inne è presente un pulsante Annulla per chiudere la maschera senza modicare nulla all'interno del le di congurazione. Una volta che l'utente ha operato le modiche che ritiene necessarie (anche se non ha variato nulla) ed ha premuto il pulsante Salva, tutte le informazioni vengono salvate in un le denominato config.ini. Durante le successive esecuzioni del programma verranno sempre utilizzati i valori salvati all'interno di tale le Maschera di addestramento La maschera di addestramento viene lanciata al termine della scansione eseguita da Tesseract e serve appunto per eseguirne la procedura di training. 1 È la cartella contenente tutti i le di lingua di cui l'ocr dispone e che può utilizzare durante le scansioni.

28 22 Implementazione di syocr Anché tale processo possa essere eseguito è necessario che i caratteri che vogliamo insegnare all'ocr siano almeno cinque. Se così non fosse, Tesseract non riuscirebbe a generare il box le ed il processo si interromperebbe immediatamente. Questa maschera contiene una PictureBox nella quale ven- Figura 4.3: Maschera di addestramento gono visualizzate una alla volta le immagini dei singoli blob non riconosciuti. L'utente può navigare tra le immagini mediante una serie di controlli: ˆ I pulsanti e, per passare rispettivamente all'immagine precedente o all'immagine successiva; ˆ I pulsanti e, per passare rispettivamente all'ultima immagine o alla prima immagine;

29 4.2 Programma TrainingMode 23 ˆ Una TextBox nella quale inserire il numero (nella sequenza) del blob che si desidera vedere. Dopo aver premuto il tasto Invio sulla tastiera il programma carica l'immagine corrispondente. Per ogni blob visualizzato c'è la possibilità di specicare un valore, che il programma scriverà nel box le modicato alla posizione corretta. Inoltre, siccome potrebbero essere considerati come blob non riconosciuti anche parti del disegno contenute in aree circolari ma non contenenti un codice, si può spuntare la CheckBox Non è un numero per indicare al programma di non addestrare l'ocr su tale simbolo. Inoltre sono presenti dieci Label, inizialmente colorate di rosso, rappresentanti tutte le dieci cifre. Ogni volta che viene specicato il valore di uno dei blob, vengono colorate di verde tutte le cifre presenti in quel numero. Questo serve perché se l'utente deve insegnare a Tesseract un font che esso non conosca, riesce a tenere traccia di quante cifre ha già inserito. Ciò si rende necessario in quanto i cataloghi ricambi sono tipicamente molto grandi, e se Tesseract sbaglia tutti i codici scritti con un determinato font i blob non riconosciuti possono essere in numero molto elevato. Se invece, come in gura 4.3, è stato semplicemente scansionato un le che presenta i caratteri girati di 90 gradi, non è importante quante cifre siano state inserite, perché probabilmente Tesseract conosce già il font utilizzato. Una volta che l'utente ha specicato un valore per ogni blob, può premere il pulsante Avvia training per lanciare eettivamente la procedura di addestramento. La procedura genera il box le, lo modica con i dati forniti da utente, e poi esegue tutti i passi successivi. Durante il processo genera e modica automaticamente i le tr e font_properties, decidendo autonomamente il nome del font e il nome della lingua sulla base dei training precedentemente eseguiti. Una volta generato il le di lingua, esso viene spostato sotto la cartella Tesseract\tessdata. La TextBox posta sotto al pulsante Avvia training segnala all'utente i passi eseguiti ed eventuali errori riscontrati durante l'addestramento. Quando sono stati terminati tutti i passaggi, l'utente può uscire dalla maschera mediante il pulsante Fine training Classe OCREngine La classe OCREngine è la classe principale del programma TrainingMode. Contiene infatti tutti i metodi utilizzati durante la scansione di Tesseract e durante la procedura di addestramento, oltre ad alcuni metodi di supporto. Di seguito ne viene presentata una lista:

30 24 Implementazione di syocr 1 Public Function RetrieveFiles ( pathmanag As pathmanager ) As System. Collections. Generic. List ( Of String ) Restituisce la lista dei le da esaminare durante l'elaborazione corrente; 1 Public Function UnifyNotRecognized ( pathmanag As pathmanager, outfilename As String, paths As System. Collections. Generic. List ( Of String )) As String Unisce tutte le immagini dei singoli blob non riconosciuti in un'unica immagine da usare per il processo di training; 1 Public Sub GenerateBoxFile ( pathmanag As pathmanager, outfilename As String ) Genera il box le a partire dall'immagine contenente tutti i blob non riconosciuti; 1 Public Sub UpdateBoxFile ( pathmanag As pathmanager, outfilename As String ) Aggiorna il box le con le informazioni fornite dall'utente; 1 Public Function UpdateFontProperties ( pathmanag As pathmanager, outfilename As String, cont As Integer ) As String Crea o aggiorna il le font_properties usando come nome del font la combinazione nomeimmaginenumprogressivo; 1 Public Sub GenerateTrFile ( pathmanag As pathmanager, outfilename As String ) Genera il le tr a partire dal box le modicato; 1 Public Sub CorrectFontName ( pathmanag As pathmanager, outfilename As String, fontname As String )

31 4.2 Programma TrainingMode 25 Cambia il nome del font nel le font_properties per renderlo uguale al nome del font nel le tr; 1 Private Function GetConfigFiles ( pathmanag As pathmanager, filenames As System. Collections. ObjectModel. ReadOnlyCollection ( Of String ), extension As String ) As String Restituisce la lista dei parametri, a seconda del contenuto del le di congurazione, per i comandi unicharset_extractor, shapeclustering, mftraining o cntraining; 1 Public Sub ExtractUnicharset ( pathmanag As pathmanager, outfilename As String ) Esegue il comando unicharset_extractor; 1 Public Sub Execute_shapeclustering ( pathmanag As pathmanager, outfilename As String ) Esegue il comando shapeclustering; 1 Private Function GetMaxIndex ( pathmanag As pathmanager ) As Integer Ritorna l'indice presente nel nome del le di congurazione relativo all'ultima lingua memorizzata; 1 Private Function GetAllFilesToAdd ( pathmanag As pathmanager, outfilename As String ) As System. Collections. Generic. List ( Of String ) Restituisce una lista contenente tutti i nomi dei box le e dei le tr da aggiungere al le di congurazione relativo alla lingua che verrà generata dall'esecuzione corrente; 1 Public Function GenerateHeader ( pathmanag As pathmanager, outfilename As String ) As String

32 26 Implementazione di syocr Crea il le di congurazione relativo al le di lingua che si sta creando durante l'esecuzione corrente; 1 Public Function UpdateHeader ( pathmanag As pathmanager, outfilename As String ) As String Aggiorna il le di congurazione con i nomi dei le utilizzati durante la fase di addestramento corrente; 1 Public Sub Execute_mftraining ( pathmanag As pathmanager, outfilename As String ) Esegue il comando mftraining; 1 Public Sub Execute_cntraining ( pathmanag As pathmanager, outfilename As String ) Esegue il comando cntraining; 1 Public Sub RenameTrainedFiles ( pathmanag As pathmanager, outfilename As String ) Rinomina con un'intestazione comune tutti i le necessari all'addestramento di Tesseract; 1 Public Sub CombineTessdata ( pathmanag As pathmanager ) Combina i le ottenuti dal processo di training ed ottiene il le di lingua traineddata; 1 Public Sub DeleteUsedBlobs ( pathmanag As pathmanager ) Elimina tutte le immagini dei blob non riconosciuti durante la scansione precedente; 1 Public Sub AnalyzePNG_Tesseract ( pm As pathmanager, imagename As String, ByRef balloons As Pallini, outputfilename As String, debug As Boolean, language As String, dimension As Integer )

33 4.2 Programma TrainingMode 27 Analizza una pagina e restituisce una nuova immagine in cui tutti i blob trovati sono contrassegnati dal valore ricavato da Tesseract, oltre ad un'immagine per ogni blob non riconosciuto Classe pathmanager La classe pathmanager serve per gestire tutti gli indirizzi assoluti delle cartelle utilizzate dal programma. Questi indirizzi sono: ˆ Il percorso della cartella sorgente del processo dalla quale verranno prelevati i le (PDF o immagini) da elaborare; ˆ Il percorso della cartella destinazione del processo nella quale verranno salvati i risultati dell'esecuzione del programma; ˆ Il percorso della cartella attuale, creata all'interno della directory di destinazione, dove vengono salvati i le relativi all'analisi del le corrente. La classe pathmanager tiene memorizzate queste informazioni durante l'intera esecuzione del programma, fungendo di fatto da struttura di appoggio. Inoltre contiene l'intestazione che verrà utilizzata per generare il le di lingua al termine del processo di addestramento, se necessario Classe Analyzer La classe Analyzer implementa i metodi necessari alla gestione dell'esecuzione del programma nella sua completezza. Oltre alla procedura costruttore New, presenta solo altre tre procedure: 1 Public Sub Analyze ( debug As Boolean ) Avvia il processo di scansione del documento corrente, analizzando una pagina alla volta. Se il le di input è una singola immagine, viene ridimensiona secondo dimensioni standard e poi analizzata. Al termine della scansione lancia la maschera di addestramento, se necessario; 1 Public Sub AnalyzePage ( pagenum As Integer, totalpages As Integer, debug As Boolean ) Trasforma la pagina corrente in immagine a 600 DPI ed esegue la ricerca di blob e il riconoscimento di Tesseract su di essa;

34 28 Implementazione di syocr 1 Private Function resizeimage ( image As Bitmap, ratio As Single, ByRef stdwidth As Single, ByRef stdheight As Single ) As Bitmap Ridimensiona la Bitmap passata come parametro relativamente alle dimensioni standard, che nel nostro caso sono quelle di un'immagine a 600 DPI di risoluzione ovvero 7017x Altre classi Oltre a quelle descritte nelle sezioni precedenti, vi sono altre quattro classi, tutte di supporto all'esecuzione del programma TrainingMode. Tali classi sono: ˆ La classe Pallino modella un'entità rappresentante le aree circolari, presenti nelle varie tavole, contenenti i codici. Essendo un'astrazione del concetto di area contenente un codice questa classe presenta solo una lista di proprietà e nessun metodo. Quindi viene mostrata per esteso 1 Public Class Pallino 2 3 Public isempty As Boolean = False 4 Public xpng As Single = 0 ' X angolo sup sx 5 Public ypng As Single = 0 ' Y angolo sup sx 6 Public xpngmax As Single = 0 ' Larghezza immagine 7 Public ypngmax As Single = 0 ' Altezza immagine 8 Public widthpng As Single = 0 ' Larghezza pallino 9 Public heightpng As Single = 0 ' Altezza pallino 10 Public value As String = "" ' Valore riconosciuto End Class ˆ La classe Pallini implementa una collezione di oggetti di tipo Pallino e fornisce un metodo per l'aggiunta di un elemento alla collezione. Anche questa classe viene mostrata per esteso 1 Public Class Pallini 2 Inherits System. Collections. Generic. List ( Of Pallino ) 3

35 4.2 Programma TrainingMode 29 4 Public Sub addelement ( xpng As Single, ypng As Single, xpngmax As Single, ypngmax As Single, widthpng As Single, heightpng As Single, value As String ) 5 6 Dim p As New Pallino 7 p. xpng = xpng 8 p. ypng = ypng 9 p. xpngmax = xpngmax 10 p. ypngmax = ypngmax 11 p. widthpng = widthpng 12 p. heightpng = heightpng 13 p. value = value If ( value <> "") Then 16 p. isempty = True 17 End If 18 Me. Add (p) End Sub 21 End Class ˆ La classe Logger gestisce operativamente gli output che vengono mostrati all'utente durante l'esecuzione del programma. Viene utilizzata per mostrare il conteggio dei le (metodo LogFile) e delle pagine (metodo LogPage), man mano che vengono scansionate, nelle due Label presenti nella maschera iniziale del programma. È inoltre usata per scrivere nella TextBox della maschera relativa alla procedura di addestramento i passi eseguiti e gli errori riscontrati (metodo Log); ˆ La classe Utils fornisce metodi per lavorare su le. Siccome in questo programma vengono svolte molte operazioni di spostamento e cancellazione di le, si è reso necessario implementare una classe che raccogliesse i metodi più frequentemente utilizzati. Utils ha due soli metodi (ma possono esserne aggiunti altri): deletefile, per cancellare un le dato il percorso, e movefile, per spostare un le dalla sua locazione iniziale ad una data nuova posizione, espressa tramite un indirizzo assoluto. Tutte le classi illustrate in questa sezione e nelle due sezioni precedenti sono presenti anche nel programma NormalMode, ma subiscono alcune modiche, dovute al fatto che la struttura dei due applicativi è dierente.

36 30 Implementazione di syocr 4.3 Programma NormalMode La maschera iniziale del programma NormalMode presenta più controlli rispetto alla maschera iniziale del programma TrainingMode, seppure simile nella struttura. Anche in questo caso abbiamo due TextBox associate a due pulsanti per la selezione delle cartelle sorgente e destinazione, un pulsante Congura per aprire la maschera di congurazione (che però presenta delle dierenze) ed un pulsante Scansiona PDF per avviare la scansione di Tesseract. Inoltre Figura 4.4: Maschera iniziale del programma NormalMode sono presenti due CheckBox: ˆ Abilita verica che, se spuntata, specica di lanciare la maschera e la relativa procedura dei risultati ottenuti al termine della scansione; ˆ Genera PDF automaticamente che, se spuntata, indica che al termine della procedura di verica verranno generati automaticamente i PDF pronti per essere linkati, senza che l'utente li selezioni a mano tramite la CheckedListBox sottostante.

37 4.3 Programma NormalMode 31 Inne, è presente una GroupBox relativa alla generazione del PDF nale. Contiene una CheckedListBox che elenca i nomi dei le originali trovati nella cartella sorgente. Ognuno di essi può essere selezionato oppure no (di default sono tutti deselezionati). Per ogni le selezionato quando l'utente preme il pulsante Genera PDF, viene creato un nuovo le PDF che ha, in corrispondenza delle coordinate dei codici (sia quelli trovati da Tesseract che quelli aggiunti dall'utente durante la verica), il valore ad essi associato scritto in modo da non essere visibile ma soltanto selezionabile Maschera di verica La maschera di verica è piuttosto complessa, e viene sempre lanciata a tutto schermo (vedere la gura 4.5 nella pagina successiva), per dar modo all'utente di visualizzare nel modo più chiaro possibile ciò che sta facendo. Di seguito vengono elencati tutti i controlli presenti nella maschera: ˆ Una PictureBox contenente l'immagine della tavola corrente, opportunamente ridimensionata in caso sia troppo grande o troppo piccola rispetto alle dimensioni della maschera; ˆ Due coppie di pulsanti < e > per navigare tra i le e tra le pagine di ogni le, associate a due Label indicanti la posizione del le o della pagina nella sequenza; ˆ Due TextBox, relative alle due coppie di pulsanti del punto precedente, per caricare direttamente un le o una pagina fornendone il numero all'interno della sequenza; ˆ Un pulsante Aggiungi\Modica per aggiungere o rimuovere il codice della tavola. Tale valore verrà associato alle coordinate inserite in precedenza, se presenti. A questo pulsante è collegata una Label che indica il valore del codice tavola, sia esso ottenuto dalla scansione di Tesseract o aggiunto dall'utente; ˆ Una ListBox contenente un elemento per ogni blob trovato nell'immagine. Per ogni elemento sono mostrate le coordinate dell'angolo superiore sinistro e le dimensioni del blob relative all'immagine ridimensionata, ed il valore riconosciuto dall'ocr; ˆ Un pulsante Chiudi per salvare i dati e terminare il processo di verica, chiudendo la maschera.

38 32 Implementazione di syocr Figura 4.5: Maschera di verica

39 4.3 Programma NormalMode 33 La procedura di verica consiste nell'esaminare le singole pagine per controllare i valori che Tesseract ha riconosciuto, aggiungere quelli mancanti e modicare (o rimuovere) quelli errati. Facendo doppio click su uno degli elementi della ListBox viene visualizzata una piccola maschera che consente di modicare il valore del blob o di rimuoverlo dalla lista. Selezionando un'area all'interno dell'immagine, invece, viene data la possibilità di aggiungere un blob che Tesseract non abbia riconosciuto durante la scansione. L'accuratezza di tale selezione e del valore ad essa associato dipenderà esclusivamente dall'utente. Tutti i dati relativi ai blob ed al codice tavola di un documento vengono salvati in un le in formato xml. Ogni riga presenta i seguenti campi: ˆ Tutti gli attributi della classe Pallino ad eccezione del booleano isempty; ˆ Due campi indicanti rispettivamente l'azione che verrà associata al link da sistemare sul blob ed i relativi parametri; ˆ Il codice della tavola presente nella pagina corrente. Tale valore viene ripetuto per ogni blob presente nella tavola. Il nome di questo documento xml viene deciso dal programma e sarà uguale al nome del le originale senza l'estensione. Maschera di modica elemento La maschera di modica di un elemento viene visualizzata ogniqualvolta venga eettuato un doppio click su un elemento della ListBox. Tale maschera è Figura 4.6: Maschera di modica elemento molto semplice e presenta solo quattro controlli: ˆ Una TextBox contenente il valore associato al blob corrispondente all'elemento della ListBox, liberamente modicabile; ˆ Un pulsante Salva per salvare la modica al valore, anche se non è stato modicato;

40 34 Implementazione di syocr ˆ Un pulsante Rimuovi per eliminare l'elemento corrente dal le xml e, di conseguenza, anche dalla ListBox; ˆ Un pulsante Annulla per chiudere la maschera senza modicare nulla. Questa maschera opera direttamente sul le xml, quindi ogni modica eettuata verrà salvata immediatamente sul le. Invece l'aggiunta di un nuovo elemento viene salvata quando si passa ad un le dierente oppure quando si chiude l'intera maschera di verica Maschera di aggiunta area codice tavola La maschera utilizzata per aggiungere l'area dove Tesseract dovrà cercare il codice della tavola è molto simile alla maschera di verica ma è più semplice in quanto deve tenere traccia di una sola entità per ogni le distinto. Come per la maschera di verica, sono presenti due coppie di pulsanti < e > per navigare tra pagine e le. Tali coppie sono associate a due TextBox utilizzabili per accedere direttamente ad una pagina o ad un le fornendone il numero all'interno della sequenza. Inoltre, è presente un pulsante Chiudi per salvare le coordinate e le dimensioni dell'area selezionata in un le di congurazione e chiudere la maschera. Ogni volta che viene caricata una nuova pagina o un nuovo le viene evidenziata l'area selezionata, in modo che l'utente possa decidere se cambiarla oppure no. È importante ricordare che ogni le ha una sola area dove cercare il codice tavola. A dierenza della maschera di verica, dove viene creato ed aggiornato un le xml per ogni documento elaborato, qui viene salvato un le di congurazione 2 per ogni documento elaborato. Durante la scansione di Tesseract, al termine dell'analisi di tutti i blob riscontrati da AForge, viene ritagliata l'area indicata nel le di congurazione (dopo aver eettuato le dovute conversioni) dove l'ocr cerca di riconoscere il codice della tavola. Se viene rilevato un valore viene salvato nel le xml in ogni riga della pagina che si sta analizzando Dierenze con il programma TrainingMode Pur essendo due programmi molto simili, perché vengono costruiti per fornire una serie di supporti alla scansione dell'ocr, le dierenze tra di essi sono sostanziali e necessitano di un'analisi per poter essere comprese e spiegate. 2 Il cui nome è (come nel caso del nome del le xml) uguale al nome del documento originale privato della sua estensione.

41 4.3 Programma NormalMode 35 Figura 4.7: Maschera per l'aggiunta dell'area del codice tavola

42 36 Implementazione di syocr Nelle successive due sezioni verranno illustrate le principali dierenze presenti tra le maschere e le classi dei due programmi. Maschere Per quanto riguarda le maschere le dierenze non sono molte, ma sono sostanziali. Oltre ad aggiungere tre nuove maschere, il programma NormalMode presenta delle minime dierenze rispetto al suo gemello. Le maschere iniziali dei due programmi sono simili tra di loro, perché gestiscono principalmente l'esecuzione della scansione, ma il programma NormalMode presenta dei controlli in più, che sono stati già illustrati nell'apposita sezione. Figura 4.8: Maschera di congurazione del programma NormalMode Per quanto riguarda la maschera di congurazione, nel programma NormalMode presenta un parametro in più e la gestione del codice tavola. Con Tolleranza selezione si intende il valore massimo (in pixel) da utilizzare quando l'utente seleziona un'area all'interno delle maschere di verica ed aggiunta dell'area del codice della tavola, al ne di controllare se tale area non sia già stata associata ad un blob riconosciuto durante la scansione di Tesseract. Il valore di default è 50, ma può variare a seconda della vicinanza dei codici all'interno della tavola. Se i codici sono molto vicini tra di loro, infatti,

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE PARCELLA FACILE PLUS INDICE MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

Guida alla registrazione on-line di un DataLogger

Guida alla registrazione on-line di un DataLogger NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso

Dettagli

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 1 di 38 Portale tirocini Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 2 di 38 INDICE 1. INTRODUZIONE... 3 2. ACCESSO AL SISTEMA...

Dettagli

MANUALE EDICOLA 04.05

MANUALE EDICOLA 04.05 MANUALE EDICOLA 04.05 Questo è il video che si presenta avviando il programma di Gestione Edicola. Questo primo video è relativo alle operazioni di carico. CARICO Nello schermo di carico, in alto a sinistra

Dettagli

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1 Pagina 1 Sommario...1 Apertura...2 Visualizzazioni...2 Elenco...2 Testo sul pulsante e altre informazioni...3 Comandi...3 Informazioni...4 Flow chart...5 Comandi...6 Pulsanti Principali e Pulsanti Dipendenti...6

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

Dettagli

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte. I TUTORI Indice Del Manuale 1 - Introduzione al Manuale Operativo 2 - Area Tutore o Area Studente? 3 - Come creare tutti insieme i Tutori per ogni alunno? 3.1 - Come creare il secondo tutore per ogni alunno?

Dettagli

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

Come modificare la propria Home Page e gli elementi correlati

Come modificare la propria Home Page e gli elementi correlati Come modificare la propria Home Page e gli elementi correlati Versione del documento: 3.0 Ultimo aggiornamento: 2006-09-15 Riferimento: webmaster (webmaster.economia@unimi.it) La modifica delle informazioni

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

Dettagli

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1 PROGRAMMA GESTIONE TURNI MANUALE UTENTE INDICE 1 PREMESSA 3 2 COMANDI COMUNI 3 3 SEDI 3 4 FESTIVITÀ 4 5 PERIODI TURNI 4 6 COD. TURNI 6 7 TURNI SPORTIVI 9 8 COD. EQUIPAGGI 9 9 DISPONIBILITÀ 10 10 INDISPONIBILITÀ

Dettagli

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio Documento Tecnico Light CRM Descrizione delle funzionalità del servizio Prosa S.r.l. - www.prosa.com Versione documento: 1, del 11 Luglio 2006. Redatto da: Michela Michielan, michielan@prosa.com Revisionato

Dettagli

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste versione 2.1 24/09/2015 aggiornamenti: 23-set-2015; 24-set-2015 Autore: Francesco Brunetta (http://www.francescobrunetta.it/)

Dettagli

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare. Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare. E stato previsto l utilizzo di uno specifico prodotto informatico (denominato

Dettagli

MODULO 5 Appunti ACCESS - Basi di dati

MODULO 5 Appunti ACCESS - Basi di dati MODULO 5 Appunti ACCESS - Basi di dati Lezione 1 www.mondopcnet.com Modulo 5 basi di dati Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database.

Dettagli

Progetto INCOME. Manuale Utente Operatore Installazione

Progetto INCOME. Manuale Utente Operatore Installazione VERSIONI Manuale Utente Operatore Installazione Tosca-Mobile VERS. Motivo Modifiche Data Approvazione Approvatore 1.0 Prima emissione 02/12/11 1/21 Sommario SOMMARIO... 2 INTRODUZIONE... 3 1.1. CONTENUTI

Dettagli

Software standard Alpi Label Ver. 2.2.0.0

Software standard Alpi Label Ver. 2.2.0.0 Pag. 1 di 16 Manuale utente Software standard Alpi Label Ver. 2.2.0.0 Pag. 2 di 16 1 SOMMARIO Sommario 1 Sommario... 2 2 Specifiche Tecniche... 3 3 Maschera Principale... 4 4 Funzioni menù... 7 Pag. 3

Dettagli

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

GESGOLF SMS ONLINE. Manuale per l utente

GESGOLF SMS ONLINE. Manuale per l utente GESGOLF SMS ONLINE Manuale per l utente Procedura di registrazione 1 Accesso al servizio 3 Personalizzazione della propria base dati 4 Gestione dei contatti 6 Ricerca dei contatti 6 Modifica di un nominativo

Dettagli

DENUNCE EDILCONNECT GUIDA COMPILAZIONE

DENUNCE EDILCONNECT GUIDA COMPILAZIONE Cassa Edile Como e Lecco DENUNCE EDILCONNECT GUIDA COMPILAZIONE COMPILAZIONE DA FILE PAGHE Guida per i consulenti e le imprese che compilano la denuncia utilizzando il file di esportazione dei software

Dettagli

PORTALE CLIENTI Manuale utente

PORTALE CLIENTI Manuale utente PORTALE CLIENTI Manuale utente Sommario 1. Accesso al portale 2. Home Page e login 3. Area riservata 4. Pagina dettaglio procedura 5. Pagina dettaglio programma 6. Installazione dei programmi Sistema operativo

Dettagli

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

Dettagli

Sistema Gestionale FIPRO. Dott. Enea Belloni Ing. Andrea Montagnani

Sistema Gestionale FIPRO. Dott. Enea Belloni Ing. Andrea Montagnani Sistema Gestionale FIPRO Dott. Enea Belloni Ing. Andrea Montagnani Firenze, 29 Aprile 2010 Sommario della presentazione Il sistema informatico per la gestione progetti FIPRO L utente presentatore: diritti

Dettagli

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013]

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013] MOCA Modulo Candidatura http://www.federscacchi.it/moca moca@federscacchi.it [Manuale versione 1.0 marzo 2013] 1/12 MOCA in breve MOCA è una funzionalità del sito web della FSI che permette di inserire

Dettagli

1. Creare la photogallery

1. Creare la photogallery MODULO AGGIUNTIVO DRUPAL: FOTOGALLERY Questo nuovo modulo permette di creare con semplicità una fotogallery, con testo libero e brevi didascalie per ogni immagine. Per inserire nel Vostro sito Drupal una

Dettagli

SIRTEL. Sistema Informativo per la Rendicontazione Telematica degli Enti Locali. Schema di funzionamento del processo per l Ente Locale

SIRTEL. Sistema Informativo per la Rendicontazione Telematica degli Enti Locali. Schema di funzionamento del processo per l Ente Locale SIRTEL Sistema Informativo per la Rendicontazione Telematica degli Enti Locali Schema di funzionamento del processo per l Ente Locale Sommario del documento Acronimi...3 FASE 1: REGISTRAZIONE ED ABILITAZIONE

Dettagli

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

Dettagli

5.2 UTILIZZO DELL APPLICAZIONE

5.2 UTILIZZO DELL APPLICAZIONE 5.2 UTILIZZO DELL APPLICAZIONE Base offre la possibilità di creare database strutturati in termini di oggetti, quali tabelle, formulari, ricerche e rapporti, di visualizzarli e utilizzarli in diverse modalità.

Dettagli

Giornale di Cassa e regolarizzazione dei sospesi

Giornale di Cassa e regolarizzazione dei sospesi Servizi di sviluppo e gestione del Sistema Informativo del Ministero dell Istruzione dell Università e della Ricerca Giornale di Cassa e regolarizzazione dei sospesi Guida Operativa Versione 1.0 del RTI

Dettagli

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa. La finestra di Excel è molto complessa e al primo posto avvio potrebbe disorientare l utente. Analizziamone i componenti dall alto verso il basso. La prima barra è la barra del titolo, dove troviamo indicato

Dettagli

Istruzioni per la configurazione di IziOzi

Istruzioni per la configurazione di IziOzi Istruzioni per la configurazione di IziOzi Installazione L'applicazione si può installare da qualunque dispositivo Android a partire dalla versione 4.1 con la procedura standard tramite Google Play Store.

Dettagli

Software di controllo per le denunce retributive e contributive individuali mensili - Ver.1.0

Software di controllo per le denunce retributive e contributive individuali mensili - Ver.1.0 Software di controllo per le denunce retributive e contributive individuali mensili MANUALE OPERATIVO - Versione 1.0 1 Installazione 1.1 Requisiti Il software è installabile sui sistemi operativi Microsoft:

Dettagli

Gestione delle Presenze WorkFlow Manuale Operativo

Gestione delle Presenze WorkFlow Manuale Operativo Sistemi di Gestione per l Area del Personale Gestione delle Presenze Work Flow Modulo Presenze Manuale Operativo Guida Utente: Pag. 1 Work Flow Procedura di gestione delle presenze La procedura Work Flow

Dettagli

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software Volume GESTFLORA Gestione aziende agricole e floricole Guidaall uso del software GESTIONE AZIENDE AGRICOLE E FLORICOLE Guida all uso del software GestFlora Ver. 2.00 Inter-Ware Srl Viadegli Innocenti,

Dettagli

CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA

CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA In questo tutorial verrà illustrato come sfruttare la flessibilità del componente "Catalogo E-commerce" per realizzare un classico negozio a griglia, del tipo di

Dettagli

Manuale Terminal Manager 2.0

Manuale Terminal Manager 2.0 Manuale Terminal Manager 2.0 CREAZIONE / MODIFICA / CANCELLAZIONE TERMINALI Tramite il pulsante NUOVO possiamo aggiungere un terminale alla lista del nostro impianto. Comparirà una finestra che permette

Dettagli

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE PREMESSA La presente guida è da considerarsi come aiuto per l utente per l installazione e configurazione di Atollo Backup. La guida non vuole approfondire

Dettagli

RISOLUTORE AUTOMATICO PER SUDOKU

RISOLUTORE AUTOMATICO PER SUDOKU RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU

Dettagli

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,

Dettagli

LUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014

LUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014 LUdeS Informatica 2 EXCEL Seconda parte AA 2013/2014 STAMPA Quando si esegue il comando FILE STAMPA, Excel manda alla stampante tutte le celle del foglio di lavoro corrente che hanno un contenuto. Il numero

Dettagli

Veneto Lavoro via Ca' Marcello 67/b, 30172 Venezia-Mestre tel.: 041/2919311

Veneto Lavoro via Ca' Marcello 67/b, 30172 Venezia-Mestre tel.: 041/2919311 Veneto Lavoro via Ca' Marcello 67/b, 30172 Venezia-Mestre tel.: 041/2919311 INDICE 1. INTRODUZIONE... 3 1.1 SCADENZA... 3 1.2 CAUSALE DA UTILIZZARE... 3 2. MODALITÀ OPERATIVE DI COMUNICAZIONE DATI... 4

Dettagli

2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento.

2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento. Uso del computer e gestione dei file 57 2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento. All interno

Dettagli

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

Dettagli

PowerPoint 2007 Le funzioni

PowerPoint 2007 Le funzioni PowerPoint 2007 Le funzioni Introduzione Cos è un ipertesto L' ipertesto è un testo organizzato in link, o collegamenti ad altre parti del testo e/o altri testi, in modo da consentire all utente di scegliere

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

POLIAGE GUIDA RAPIDA

POLIAGE GUIDA RAPIDA www.candian.itinfo@candian.it!!"#$% &%'%$%(%)*)+,-,'!-#,%$. POLIAGE GUIDA RAPIDA I. Codifica di una prestazione Pag. 2 II. Inserimento di un nuovo professionista 4 I Creazione Profilo Agenda 6 II Gestione

Dettagli

Introduzione. Installare EMAS Logo Generator

Introduzione. Installare EMAS Logo Generator EMAS Logo Generator Indice Introduzione... 3 Installare EMAS Logo Generator... 3 Disinstallare EMAS Logo Generator... 4 Schermata iniziale... 5 Creare il Logo... 7 Impostazioni... 7 Colore...8 Lingua del

Dettagli

Introduzione. Macro macro istruzione. Sequenza di comandi memorizzati programma

Introduzione. Macro macro istruzione. Sequenza di comandi memorizzati programma Introduzione Macro macro istruzione Sequenza di comandi memorizzati programma Scopo: eseguire più volte una sequenza di operazioni che a mano sarebbero noiose e ripetitive, se non proibitive Le macro Le

Dettagli

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE Il software ideale per la gestione delle prenotazioni GUIDA UTENTE Presentazione... 2 Installazione... 3 Prima esecuzione... 6 Registrazione del programma... 8 Inserimento Immobile... 9 Inserimento proprietario...

Dettagli

Sistema di Gestione Fornitori FGS (SQM) Manuale Fornitori

Sistema di Gestione Fornitori FGS (SQM) Manuale Fornitori Sistema di Gestione Fornitori FGS (SQM) Manuale Fornitori - 1 - 1. Logon alla pagina del portale Collegarsi tramite browser al portale fornitori accedendo al seguente link: https://procurement.finmeccanica.com

Dettagli

DATI STATISTICI NOTARILI GIUDA ALL UTILIZZO DELLA PROCEDURA CON DIGITAL OFFICE

DATI STATISTICI NOTARILI GIUDA ALL UTILIZZO DELLA PROCEDURA CON DIGITAL OFFICE DATI STATISTICI NOTARILI GIUDA ALL UTILIZZO DELLA PROCEDURA CON DIGITAL OFFICE Pagina 1 di 10 Dati Statistici Notarili Con il presente aggiornamento viene introdotta la generazione del file ai fini dell

Dettagli

Guida Software GestioneSpiaggia.it

Guida Software GestioneSpiaggia.it Caratteristiche Guida Software GestioneSpiaggia.it 1. Gestione prenotazioni articoli (ombrellone, cabina, ecc ) ed attrezzature (sdraio, lettino ecc ) 2. Visualizzazione grafica degli affitti sia giornaliera

Dettagli

Plate Locator Riconoscimento Automatico di Targhe

Plate Locator Riconoscimento Automatico di Targhe Progetto per Laboratorio di Informatica 3 - Rimotti Daniele, Santinelli Gabriele Plate Locator Riconoscimento Automatico di Targhe Il programma plate_locator.m prende come input: l immagine della targa

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

Il controllo della visualizzazione

Il controllo della visualizzazione Capitolo 3 Il controllo della visualizzazione Per disegnare in modo preciso è necessario regolare continuamente l inquadratura in modo da vedere la parte di disegno che interessa. Saper utilizzare gli

Dettagli

ISTRUZIONI PER L UTILIZZO DEL SOFTWARE Moda.ROA. Raccolta Ordini Agenti

ISTRUZIONI PER L UTILIZZO DEL SOFTWARE Moda.ROA. Raccolta Ordini Agenti ISTRUZIONI PER L UTILIZZO DEL SOFTWARE Raccolta Ordini Agenti AVVIO PROGRAMMA Per avviare il programma fare click su Start>Tutti i programmi>modasystem>nomeazienda. Se il collegamento ad internet è attivo

Dettagli

Manuale d uso Event Bureau

Manuale d uso Event Bureau Manuale d uso Event Bureau step by step Agenda Premessa Accesso a Event Bureau Inserimento Nuovo Evento Generico o primo step: anagrafica evento o secondo step: organizzatori o terzo step: relatori interni

Dettagli

MANUALE PORTALE UTENTE IMPRENDITORE

MANUALE PORTALE UTENTE IMPRENDITORE MANUALE PORTALE UTENTE IMPRENDITORE Indice 1. REQUISITI MINIMI DI SISTEMA E CONTATTI PROGETTO RIGENER@... 3 2. IL PORTALE RIGENER@... 4 2.1 ACCESSO ALLE AREE PRIVATE... 7 2.1.1 Accesso al sito con Windows

Dettagli

MANUALEDIUTILIZZO MODULO CRM POSTVENDITA

MANUALEDIUTILIZZO MODULO CRM POSTVENDITA MANUALEDIUTILIZZO MODULO CRM POSTVENDITA INDICE INTRODUZIONE INSERIMENTO CHIAMATA CHIAMATE Dettaglio Chiamate Macchine Coinvolte Documenti Riepilogo MACCHINE Dettaglio Macchine Documenti Interventi MACCHINE

Dettagli

CONTENT MANAGEMENT SY STEM

CONTENT MANAGEMENT SY STEM CONTENT MANAGEMENT SY STEM I NDI CE I NTRODUZI ONE Accesso al CMS 1) CONTENUTI 1.1 I nserimento, modifica e cancellazione dei contenuti 1.2 Sezioni, categorie e sottocategorie 2) UTENTI 3) UP LOAD FILES

Dettagli

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Il software per gli esami ICON può essere eseguito su qualunque computer dotato di Java Virtual Machine aggiornata.

Dettagli

CERTIFICATI DIGITALI. Manuale Utente

CERTIFICATI DIGITALI. Manuale Utente CERTIFICATI DIGITALI Procedure di installazione, rimozione, archiviazione Manuale Utente versione 1.0 pag. 1 pag. 2 di30 Sommario CERTIFICATI DIGITALI...1 Manuale Utente...1 Sommario...2 Introduzione...3

Dettagli

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo Creazione di moduli Creazione di moduli Che cos'è un modulo? Un elenco di domande accompagnato da aree in cui è possibile scrivere le risposte, selezionare opzioni. Il modulo di un sito Web viene utilizzato

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

www.monferratostradadelvino.it GUIDA ALL USO DEL PORTALE

www.monferratostradadelvino.it GUIDA ALL USO DEL PORTALE www.monferratostradadelvino.it GUIDA ALL USO DEL PORTALE Come accedere La login e la password vi arriverà nella casella di posta elettronica con una mail. Questi dati andranno inseriti in queste caselle

Dettagli

GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0)

GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0) ------------------------------------------------- GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0) GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0)... 1 Installazione Billiards Counter... 2 Primo avvio e configurazione

Dettagli

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record 5.3 TABELLE In un sistema di database relazionali le tabelle rappresentano la struttura di partenza, che resta poi fondamentale per tutte le fasi del lavoro di creazione e di gestione del database. 5.3.1

Dettagli

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia Scuola Digitale Manuale utente Copyright 2014, Axios Italia 1 SOMMARIO SOMMARIO... 2 Accesso al pannello di controllo di Scuola Digitale... 3 Amministrazione trasparente... 4 Premessa... 4 Codice HTML

Dettagli

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo Release 5.20 Manuale Operativo COLLI Gestione dei Colli di Spedizione La funzione Gestione Colli consente di generare i colli di spedizione in cui imballare gli articoli presenti negli Ordini Clienti;

Dettagli

Guida. Macchina Scratch

Guida. Macchina Scratch Pagina 1 di 22 Guida Macchina Scratch Pagina 2 di 22 Scopo Lo scopo della guida è quello di spiegare all'utente come sia possibile creare un unità da scratch con il software Nuovo AHU. La guida spiegherà

Dettagli

WEBGIS 1.0. Guida per l utente

WEBGIS 1.0. Guida per l utente WEBGIS 1.0 Guida per l utente SOMMARIO 1 INTRODUZIONE...3 2 FUNZIONALITA...4 2.1 Strumenti WebGIS... 4 2.1.1 Mappa... 5 2.1.2 Inquadramento mappa... 6 2.1.3 Toolbar... 7 2.1.4 Scala... 9 2.1.5 Legenda...

Dettagli

EDICOLA MANAGER 2.2. + EM Importer

EDICOLA MANAGER 2.2. + EM Importer EDICOLA MANAGER 2.2 + EM Importer Con la versione 2.2 del programma sono state introdotte numerose novità grazie anche alla collaborazione di colleghi che hanno messo a disposizione utility e documenti

Dettagli

Via della Repubblica 9 - Trezzano S/Naviglio (MI) 02.48405033-02.48405035 Partita IVA nr. 11680670152

Via della Repubblica 9 - Trezzano S/Naviglio (MI) 02.48405033-02.48405035 Partita IVA nr. 11680670152 Via della Repubblica 9 - Trezzano S/Naviglio (MI) 02.48405033-02.48405035 Partita IVA nr. 11680670152 1 Avvio del software e schermata principale Aprire una pagina Web e digitare l indirizzo nell apposita

Dettagli

Struttura logica di un programma

Struttura logica di un programma Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati

Dettagli

ACCESSO AL SISTEMA HELIOS...

ACCESSO AL SISTEMA HELIOS... Manuale Utente (Gestione Formazione) Versione 2.0.2 SOMMARIO 1. PREMESSA... 3 2. ACCESSO AL SISTEMA HELIOS... 4 2.1. Pagina Iniziale... 6 3. CARICAMENTO ORE FORMAZIONE GENERALE... 9 3.1. RECUPERO MODELLO

Dettagli

Guida all uso di. a cura dell Area Economia Applicata (AEA) - IPI

Guida all uso di. a cura dell Area Economia Applicata (AEA) - IPI Guida all uso di a cura dell Area Economia Applicata (AEA) - IPI 1. Introduzione pag. 2 2. Scelta dell area tematica e del dato pag. 4 3. Criteri di selezione pag. 7 4. Esportazione pag. 9 1 Questa guida

Dettagli

Dipartimento per le Libertà Civili e l Immigrazione

Dipartimento per le Libertà Civili e l Immigrazione Dipartimento per le Libertà Civili e l Immigrazione SUI Sportello Unico Immigrazione Sistema inoltro telematico Manuale utente Versione 9 Data aggiornamento 19/11/2010 17.19.00 Pagina 1 (1) Sommario 1.

Dettagli

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass 0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Dettagli

GUIDA UTENTE MONEY TRANSFER MANAGER

GUIDA UTENTE MONEY TRANSFER MANAGER GUIDA UTENTE MONEY TRANSFER MANAGER (vers. 1.0.2) GUIDA UTENTE MONEY TRANSFER MANAGER (vers. 1.0.2)... 1 Installazione... 2 Prima esecuzione... 5 Login... 7 Funzionalità... 8 Anagrafica... 9 Registrazione

Dettagli

SIFORM MANUALE VOUCHER FORMATIVI A DOMANDA AZIENDALE

SIFORM MANUALE VOUCHER FORMATIVI A DOMANDA AZIENDALE SIFORM MANUALE VOUCHER FORMATIVI A DOMANDA AZIENDALE 1 Informazioni generali...2 2 Procedura di autenticazione...2 2.1 Registrazione impresa...3 3 Anagrafica impresa...4 3.1 Impresa...4 3.2 Ricerca persone

Dettagli

Alla scoperta della nuova interfaccia di Office 2010

Alla scoperta della nuova interfaccia di Office 2010 Alla scoperta della nuova interfaccia di Office 2010 Una delle novità più eclatanti della versione 2007 era la nuova interfaccia con la barra multifunzione. Office 2010 mantiene questa filosofia di interfaccia

Dettagli

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008 Se devo memorizzare più valori che sono in qualche modo parenti dal punto di vista logico, posso usare il concetto di vettore di variabili (array). Ad esempio, se devo memorizzare le temperature di tutti

Dettagli

MODULO STAMPA BOLLETTINO PDF

MODULO STAMPA BOLLETTINO PDF MODULO STAMPA BOLLETTINO PDF MODULO STAMPA BOLLETTINO PDF pagina 2 di 7 INTRODUZIONE Il modulo STAMPA BOLLETTINO PDF è una applicazione stand-alone, sviluppata in linguaggio Java, che permette di produrre

Dettagli