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

# 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 / 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://edoardo.anteprime.edoardogabrielli.com/media/originals/2026/11/c72c86b92d534992b5413318a966cdee/digitalizzazione-editor.webp)

![Il validatore segnala un errore di schema XSD nel pannello Problemi](https://edoardo.anteprime.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 rettangolo ruotabile su un'immagine di prova](https://edoardo.anteprime.edoardogabrielli.com/media/originals/2026/11/2c10ca88f38343cc895bd6699b4b99ac/digitalizzazione-ritaglio.webp)

Editor del ritaglio con il rettangolo ruotabile. L'immagine è sintetica, di prova.

### Il pannello di gestione

Per chi amministra c'è un pannello web separato: utenti, licenze per modulo con scadenza e revoca, rilascio delle versioni. Le schermate qui sotto vengono da un'istanza di prova con dati inventati, non da quella in uso.

## Pannello di gestione (istanza di prova, dati finti)

![Pannello di gestione: elenco utenti con dati finti](https://edoardo.anteprime.edoardogabrielli.com/media/originals/2026/11/54640f16286c4a8c8262d0bef7199e7e/digitalizzazione-utenti.webp)

![Pannello di gestione: licenze per modulo raggruppate per utente, con scadenza e revoca](https://edoardo.anteprime.edoardogabrielli.com/media/originals/2026/11/cd7c9002973746fb87bca5909ada9091/digitalizzazione-licenze.webp)

![Pannello di gestione: moduli e versioni](https://edoardo.anteprime.edoardogabrielli.com/media/originals/2026/11/7af81189db2649769e8138407c566838/digitalizzazione-moduli.webp)

### 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://edoardo.anteprime.edoardogabrielli.com/it/progetti)