Domande frequenti

Tutto quello che di solito ci si chiede prima di affidare le proprie carte a uno scanner di documenti.

ScanPDF è gratis?

Sì, e senza condizioni. Niente account, niente registrazione, nessun limite di pagine, nessuna filigrana, nessun piano a pagamento e nessun periodo di prova. È tutto open source con licenza MIT, e non c'è nessun server di cui farti pagare il conto.

I miei documenti vengono caricati da qualche parte?

No. Sia l'elaborazione delle immagini sia la composizione del PDF avvengono nel tuo browser, e l'app non ha un backend a cui inviare qualcosa. Le foto vengono lette dal disco dalla pagina, tenute in memoria e restituite come PDF da scaricare. Nella pagina sulla privacy trovi come questo viene garantito, e non soltanto promesso.

Quali formati di immagine posso usare?

Tutto ciò che il tuo browser riesce a decodificare come immagine: JPEG e HEIC dalla fotocamera del telefono, PNG, WebP, AVIF, GIF, BMP. Le foto appena scattate con un iPhone o un dispositivo Android funzionano senza conversione, e il loro orientamento EXIF viene gestito in automatico.

C'è un limite di pagine?

Nessuno prefissato. Le pagine vengono esportate una dopo l'altra e non tutte insieme, quindi l'uso della memoria resta costante e i documenti lunghi non sono un problema. Il limite pratico è la RAM del tuo dispositivo quando le foto di partenza sono molto grandi, non una regola dell'app.

Funziona su iPhone e Android?

Sì, in qualsiasi browser mobile recente. Sul telefono il layout passa a un pannello unico con un selettore tra editor e anteprima, e il pulsante "Scatta foto" apre direttamente la fotocamera posteriore, così puoi fotografare e scansionare un documento senza prima salvarlo nel rullino.

Funziona offline?

Sì. Dopo la prima visita il browser conserva una copia dell'app sul tuo dispositivo, quindi si apre anche senza rete. Anche il motore di scansione, un download di circa 10 MB, viene conservato non appena scansioni una pagina o installi l'app, e da quel momento funziona tutto offline. Se vuoi una configurazione davvero isolata dalla rete, esegui il container descritto più sotto - serve l'intera app, build di OpenCV compresa, dalla tua macchina.

Puoi anche installare ScanPDF nella schermata Home. Su Android compare allora nel menu di condivisione: seleziona le foto nella galleria, tocca Condividi e scegli ScanPDF. Su iPhone e iPad usa Aggiungi alla schermata Home nel menu di condivisione di Safari; iOS non consente alle app web di ricevere foto condivise, quindi lì aggiungile dall'interno dell'app.

Com'è la qualità del risultato?

L'esportazione raddrizza l'originale a piena risoluzione, non la copia ridotta usata per il rilevamento, con un tetto di 3500 px sul lato lungo e circa 220 DPI su una pagina A4. Basta per stampare o per passarci sopra un OCR. Il filtro bianco e nero usa la divisione per lo sfondo invece di una soglia netta, quindi le ombre si appiattiscono e il testo conserva i bordi morbidi invece di diventare seghettato.

Posso riordinare o eliminare le pagine?

Sì. Trascina le miniature per riordinarle ed elimina quelle che non ti servono; l'ordine che vedi lì è quello del PDF esportato. Rotazione, regolazione degli angoli e filtro valgono pagina per pagina, quindi una foto venuta male in mezzo a un gruppo non ti costringe mai a rifare il resto.

Perché il rilevamento automatico degli angoli ha sbagliato?

Quasi sempre perché non c'era un bordo da trovare: carta bianca su un tavolo bianco, un angolo fuori dall'inquadratura, oppure un'ombra netta sulla pagina scambiata per un bordo. Trascina gli angoli a mano e tutto il resto funziona allo stesso identico modo - il rilevamento è una comodità, non un requisito. La guida alla scansione spiega come evitarlo.

Posso eseguirlo sulla mia macchina?

Sì. Un'immagine container già pronta viene pubblicata su GitHub Container Registry, e ogni release include anche un semplice zip di file statici adatto a qualsiasi server web. Ospitandolo in proprio ottieni in più la Content-Security-Policy rigorosa, grazie alla quale è il browser stesso a bloccare le richieste verso l'esterno. Le istruzioni sono nel README.