Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Digitalizzare e catalogare documenti su Raspberry Pi

Come utilizzare la single board Raspberry Pi per digitalizzare e catalogare facilmente i documenti cartacei
Come utilizzare la single board Raspberry Pi per digitalizzare e catalogare facilmente i documenti cartacei
Link copiato negli appunti

Non di rado in casa o in ufficio ci si ritrova con documenti datati che vorremmo digitalizzare e catalogare. La via più semplice è ovviamente darli tutti in pasto ad uno scanner, o magari alle applicazioni integrante nei moderni smartphone, ed eseguire una scansione cosi da ottenere una copia digitale. Il problema è che il testo all'interno di questi documenti non è ricercabile come se si trattassero di file digitali veri e propri. Le scansioni standard non offrono tale livello di versatilità, ecco perché spesso aziende e privati si affidano a soluzioni software per il riconoscimento ottico dei caratteri. Questo processo, più comunemente noto come OCR (Optical Character Recognition), richiede appunto un applicativo che interpreta le immagini catturate da uno scanner e le converte in testi all'interno di un file. Questo procedimento non solo consente di rendere le porzioni di testo ricercabili ma offre anche la possibilità di eseguire modifiche e dunque di correggere errori o imperfezioni presenti nel documento originale.

In rete esistono numerose alternative per questo genere di operazioni. Una delle più gettonate è sicuramente Paperless-NG. Si tratta di una utility open source progettata per agire come un archivio di documenti digitalizzati sfruttando la tecnologia OCR. Paperless-NG consente di acquisire un documento tramite scansione, convertire l'immagine della scansione in testo cosi da rendere i diversi periodi selezionabili, copiabili e quindi ricercabili e modificabili.

Con Paperless-NG è dunque possibile aggregare i propri documenti cartacei all'interno di un database centralizzato dove reperirli al volo eseguendo una ricerca tramite il motore di ricerca interno. In questo tutorial vedremo come installare e configurare Paperless-NG all'interno di Raspberry Pi, in modo tale da ottenere una stazione di digitalizzazione completa e, all'occorrenza, anche portatile.

Requisiti hardware

Raspberry Pi

Per costruire tale configurazione è ovviamente necessario dotarsi del device in questione. Noi vi consigliamo di comprare un Raspberry Pi 4 con 8GB cosi da non avere problemi di prestazioni durante la digitalizzazione dei documenti. Oltretutto è bene fornirsi di una microSD capiente, almeno 128GB, cosi da avere tutto lo spazio necessario per conservare in modo consono i documenti.

Per la prima configurazione dovrete reperire anche mouse, tastiera e display. Inoltre se i documenti cartacei sono veramente tanti è meglio optare per uno scanner vero e proprio invece di affidarsi alle applicazioni per smartpthone. Fortunatamente in commercio ne esistono davvero tanti pienamente compatibili con le distribuzioni Linux.

Installazione e configurazione di Docker-Compose

Raspberry Pi OS

In questa guida diamo per assodato che Raspberry Pi OS sia già installato e funzionante. Procediamo quindi con l'installazione di alcuni pacchetti necessari al corretto funzionamento di Paperless-NG. Partiamo scaricando e installando Docker-Compose, il pacchetto fortunatamente è presente nei repository della distribuzione, quindi ci basta evocare il package manager APT. Apriamo bash e scriviamo:

sudo apt install docker-compose

Docker-Compose è un pratico tool open source per realizzare ed eseguire delle Docker application multi-container. Viene sfruttato in tantissimi settori e ci serve appunto per avviare un istanza containerizzata di Paperless-NG e delle diverse librerie e dipendenze di cui esso ha bisogno per funzionare in modo ottimale. A questo punto dobbiamo generare tali directory:

mkdir -p ~/paperless/consume

per poi spostarci all'interno della prima:

cd ~/paperless/

Adesso siamo pronti per realizzare il file di configurazione del nostro container Docker:

nano docker-compose.yml

Ger generare tale documento stiamo sfruttando l'editor di testo nano, al suo interno incolliamo quanto segue:

version: "3.4"
services:
broker:
image: redis:6.0
restart: unless-stopped
webserver:
image: jonaswinkler/paperless-ng:latest
restart: unless-stopped
depends_on:
- broker
ports:
- 8000:8000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
volumes:
data:
media:

Se leggiamo tale file possiamo capire che i nuovo documenti generati verranno depositati dentro la directory /usr/src/paperless/consume. Potete anche modificare tale posizione con la cartella che preferite. Per salvare il file appena creato usiamo CTRL+O e poi CTRL+X in modo da chiudere l'editor nano.

Passiamo quindi alla configurazione del file d'ambiente di Paperless-NG. Generiamo dunque una key che ci servirà in seguito:

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1

Come ouput dovremmo ricevere una stringa simile alla seguente:

McziUH4c8lidzd4wgXyuafjqfjqfgje

Copiamola in un documento e teniamola da parte. Lanciamo adesso tale comando nella shell per iniziare la scrittura dell' envornment Docker-Compose:

nano docker-compose.env

In tale file inseriamo questo testo con la chiave generata poco prima:

PAPERLESS_SECRET_KEY=McziUH4c8lidzd4wgXyuafjqfjqfgje
USERMAP_UID=1000
USERMAP_GID=1000
PAPERLESS_OCR_LANGUAGES=IT
PAPERLESS_TIME_ZONE=Europe/Rome
PAPERLESS_OCR_LANGUAGE=it

Avvio del container Docker e di Paperless-NG

Salviamo e chiudiamo nano come spiegato poco prima. Adesso siamo pronti per eseguire il container Docker e Paperless-NG:

sudo docker-compose up -d

Questo processo dovrebbe durare qualche minuto quindi mettetevi comodi. Una volta ultimata la procedura bisogna creare l'utenza per la Web interface di Paperless-NG, infatti ci interfacceremo con tale programma tramite il nostro browser. Torniamo in bash e scriviamo:

sudo docker-compose run --rm webserver createsuperuser

Ci ritroveremo ora all'interno di un wizard ed al suo termine potremo inserire le credenziali per accedere poi alla Web interface.

Accesso all'interfaccia Web di Paperless-NG

Procediamo dunque all'accesso alla Web interface di Paperless-NG. Apriamo un browser a nostra scelta e digitiamo questa stringa nella barra degli URL:

http://INDIRIZZOIPDELRASPBERRYPI:8000

Se non conoscente l'indirizzo IP locale del dispositivo vi basterà aprire nuovamente a bash e digitare il comando:

hostname -I

come output si riceve appunto l'IP locale del Raspberry Pi, ad esempio:

192.168.1.3

quindi nel browser dobbiamo scrivere qualcosa del genere per poter operare con Paperless-NG:

http://192.168.1.3:8000

Paperless-NG

Dopo qualche secondo ci ritroveremo davanti alla schermata di login del programma. Inseriamo le credenziali scelte in precedenza cosi da accedere alla dashboard dell'applicativo. Da tale pannello si può già iniziare a caricare i documenti scannerizzati tramite l'apposita funzionalità dedicata. Se lo si preferisce è possibile anche trascinare i file dentro l'area dedicata per iniziare la conversione OCR.

Dopo la conversione Paperless-NG ci da la possibilità di modificare un documento e catalogarlo come preferiamo. Paperless-NG dispone di un algoritmo di machine learning che apprende dalle nostre modifiche e preferenze, cosi da impostare l'importazione e la catalogazione in modo più rapido ed automatizzato non appena l'addestramento viene completato.

Ti consigliamo anche