---
title: "Strumenti per la digitalizzazione di archivi"
url: "https://edoardogabrielli.com/it/progetti/digitalizzazione"
lang: "it"
updated: "2026-11-02"
---

# Strumenti per la digitalizzazione di archivi

> Un'applicazione desktop per creare e validare i metadati XML di documenti digitalizzati, con moduli per ritaglio, rinomina e riconoscimento del tipo di pagina, e un pannello per utenti e licenze.

Un'applicazione desktop per creare, correggere e validare i metadati XML dei documenti digitalizzati, con moduli installabili per lavorare sulle immagini.

## A cosa serve e cosa può fare

Per chi digitalizza archivi e libri e deve descrivere ogni documento con metadati MAG. È parte del lavoro di catalogazione e indicizzazione che ETT propone con la linea Scripta.

- Crea, corregge e valida i file MAG, lo standard XML italiano per i documenti digitalizzati.
- Controlla i file con lo schema XSD e regole aggiuntive.
- Ritaglia e raddrizza le scansioni in automatico.
- Rinomina i file e riconosce il tipo di pagina.
- Si estende con moduli installabili, con licenza e aggiornamenti.

[Scopri la soluzione su ETT](https://ettsolutions.com/scripta/)

## Il contesto

Chi digitalizza archivi e libri produce migliaia di immagini per documento. Ognuna va descritta in XML (tipo di pagina, sequenza, checksum, dati tecnici), ritagliata e rinominata, quasi sempre a mano. Il formato è il MAG, lo standard italiano per i metadati di documenti digitalizzati.

Lo sto sviluppando nell'azienda di software in cui lavoro come sviluppatore. Il progetto è una riscrittura che unisce due vecchi programmi (uno in Python 2.4, uno in Python 3.8 compilato) in un unico programma che si possa mantenere.

## L'editor e il validatore

L'editor mostra il progetto ad albero e le schede dei metadati (generali, bibliografia con campi Dublin Core ripetibili, nomenclatura). Il validatore integrato controlla il file con lo schema XSD e con regole aggiuntive, e segnala i problemi in un pannello: nell'immagine sotto, un campo obbligatorio vuoto. Il documento è di esempio.

![Editor di metadati XML con albero del progetto e scheda dei metadati generali](https://edoardogabrielli.com/media/originals/2026/11/f6178ed2b09146058ffc581afda305be/digitalizzazione-editor-v2.webp)

![Il validatore segnala un errore di schema XSD nel pannello Problemi](https://edoardogabrielli.com/media/originals/2026/11/fc74b9d790334636bb8ef0d6ae04547d/digitalizzazione-validazione.webp)

Il pannello «Problemi» segnala un errore di schema XSD.

## I moduli

Attorno all'editor ci sono moduli che si installano da un catalogo interno, ciascuno con una licenza verificata anche senza rete e un aggiornamento firmato:

- **Ritaglio e raddrizzamento**: il rettangolo si sposta, si ridimensiona dagli angoli e si ruota con una rotella. Ogni immagine viene prima portata a una versione da 1024 pixel su cui lavorano il rilevatore e l'operatore; con questa scelta il tempo per immagine è sceso da 111 a 0,37 secondi.
- **Rinomina** dei file secondo convenzioni configurabili.
- **Tipo di pagina**: un modello di apprendimento automatico propone se la pagina è copertina, testo, tavola e così via. Usa un classificatore su 147 caratteristiche calcolate a mano e una ricerca della sequenza di etichette più probabile; impara dalle correzioni dell'operatore.
- **Controllo del colore**.

![Editor del ritaglio con un libro aperto e la piega centrale, testo oscurato](https://edoardogabrielli.com/media/originals/2026/11/fda45e3f96bf46419903656b21aecd76/digitalizzazione-ritaglio-libro.webp)

Ritaglio di un libro aperto con la piega centrale. Nomi, percorsi e testo della pagina sono oscurati.

## Il pannello di gestione

Per chi amministra c'è un pannello web separato: utenti, progetti e licenze per modulo, rilascio delle versioni, attività degli operatori. Le schermate vengono dall'istanza in uso, con nomi e percorsi oscurati.

![Home del pannello di gestione con menu laterale e passi per iniziare](https://edoardogabrielli.com/media/originals/2026/11/ee72963188944c8d890a7b8ebf8e124f/digitalizzazione-pannello.webp)

La home del pannello di gestione. Il nome del prodotto è oscurato.

![Pannello con la giornata degli utenti su un asse orario e il flusso degli eventi, nomi oscurati](https://edoardogabrielli.com/media/originals/2026/11/0dba6b3630064d4a881052fe438c79cb/digitalizzazione-flusso-eventi.webp)

Flusso eventi del pannello: la giornata di ogni utente nell'applicazione e l'elenco delle azioni. Nomi e percorsi sono oscurati.

## Alcune scelte tecniche

- L'interfaccia sta passando da Qt a Tauri con Vue; ogni modulo ha un suo piccolo servizio Python locale.
- Moduli distribuiti con controllo del checksum SHA-256 e aggiornamenti firmati, prima su un canale di prova e poi per tutti.
- La suite di test della parte Qt va in errore se lanciata tutta insieme, per lo stato condiviso della libreria: ho scritto un lanciatore che esegue un file alla volta.

## Cosa ho fatto io

Ho scritto da solo quasi tutto il codice, in circa sette mesi e mezzo: più di 2.800 commit, circa 200.000 righe di Python e 46.000 di Vue e TypeScript, che copre modello dei dati, validazione, interfaccia, moduli, licenze e pannello. Per programmare ho usato anche agenti AI; non ho una misura di quanta parte del codice sia nata così.

### Stato

È in uso, con utenti e licenze reali, e si sviluppa ancora. Il programma è aziendale: non è pubblico e non c'è una demo. L'interfaccia Qt è ancora in dismissione e alcune parti sono a metà.

### Stack

Python · lxml · Pillow · OpenCV · FastAPI · Tauri · Vue · TypeScript · gradient boosting · U²-Net · YOLO · Docker · pytest

[← Tutti i progetti](https://edoardogabrielli.com/it/progetti)