Editor PDF desktop per Windows, realizzato da Daniele Gabrovec.
Copyright © 2026 Daniele Gabrovec. Tutti i diritti riservati. Licenza MIT.
Apre, crea, modifica, annota, firma, compila, stampa e converte PDF. Tutto gira in locale: nessun account, nessuna telemetria, nessun server.
- Lettura: rendering pdf.js con pagine caricate a richiesta (documenti da centinaia di pagine), zoom adattivo, Ctrl+rotella attorno al cursore, disposizione continua / singola / due pagine / libro, presentazione a schermo intero, focus, seppia, inverti, lente, righelli, riga guida, lettura ad alta voce.
- Modifica del testo del PDF: con lo strumento Testo clic su una riga esistente: viene coperta e riscritta in un testo modificabile già compilato. Caselle di testo, immagini (con rimozione dello sfondo), tabelle, formule LaTeX (MathJax), simboli Unicode, emoticon, codici QR, collegamenti, filigrana, intestazione/piè, numerazione Bates, data.
- Commenti standard: note con popup, evidenziazioni, sottolineature e barrati (anche dal testo selezionato), matita, forme, frecce, misure in mm, timbri con preset. Vengono salvati come annotazioni PDF vere, leggibili da Acrobat e dai browser; quelle già presenti nel file vengono importate e restano modificabili. Esporta/importa XFDF.
- Nascondi: «Copri» (bianchetto visivo) e «Redigi»: al salvataggio la pagina viene rasterizzata e il contenuto sotto l’area rimosso per sempre.
- Moduli: i campi AcroForm del PDF si compilano sulla pagina o dal pannello Moduli; i campi nuovi (testo, casella, opzione, elenco, firma) sono campi AcroForm reali.
- Firma: disegnata (mouse, penna, touch), da foto/scansione con sfondo rimosso, dagli appunti; firme salvate riutilizzabili.
- Pagine: inserisci (formato, orientamento, sfondo), inserisci pagine da altri file (PDF con scelta delle pagine, Office, immagini), copertina generata (stili, logo, colore), duplica, elimina, ruota, ritaglia, riordina per trascinamento, dividi (ogni N pagine, singole, intervalli, segnalibri), estrai, combina più file con intervalli, segnalibri per file, separatori, copertina e numeri di pagina, pagina da scanner WIA, segnalibri salvati come sommario del PDF. I moduli restano compilabili anche dopo riordino, rotazione, divisione e unione.
- Trasformazioni: rotazione libera con maniglia (Shift = 15°), direzione del testo (orizzontale, verticale, capovolto), specchiature orizzontale/verticale, scala in percentuale, dimensioni originali delle immagini, proporzioni bloccabili.
- Moduli con le caselline: spaziatura dei caratteri in punti e passo fisso (un carattere per casella) con preset per codice fiscale e IBAN, per compilare i moduli incollando la stringa.
- Appunti e immagini: incolla immagini da Word, Outlook o qualsiasi programma (il formato viene riconosciuto dai byte, non dall'etichetta) e testo come casella di testo; inserimento di PNG, JPEG, GIF, WebP, BMP, ICO, AVIF, SVG, e conversione automatica di TIFF, EMF, WMF, HEIC, PSD e JPEG XR.
- Converti: da Word/Excel/PowerPoint (Office COM → LibreOffice → fallback interno), da immagini; verso Word, Excel, PowerPoint, HTML, RTF, TXT, CSV con il testo estratto dal PDF; pagine come PNG/JPEG a 72–600 dpi.
- Stampa con carta, orientamento, margini, adattamento, N pagine per foglio, opuscolo a sella, fronte/retro, qualità.
- Sicurezza e peso: apertura di PDF protetti da password, sanificazione profonda (metadati, XMP, JavaScript, azioni, allegati, XFA), riduzione del peso senza perdita o per rasterizzazione, riparazione best effort.
- Cronologia con rami stile Git: dopo un annulla, una nuova modifica propone di creare un ramo invece di perdere il futuro; confronto e promozione a main.
- Recupero: copie automatiche delle modifiche non salvate con dialogo di ripristino; copie di sicurezza degli ultimi salvataggi; conferma alla chiusura.
- Interfaccia: tema chiaro/scuro/sistema, barra dei menu con sottomenu e navigazione da tastiera, menu contestuali che agiscono sull'elemento cliccato, ribbon per modalità (Leggi, Commenta, Modifica, Firma, Moduli, Pagine, Converti), pannello laterale (Pagine, Segnalibri, Commenti, Cerca, Moduli, Oggetti), ispettore, mini toolbar, palette comandi (Ctrl+K), scorciatoie (Ctrl+/), preferenze persistenti, drag & drop.
- Modalità in alto a destra. Ogni modalità ha il suo ribbon con gruppi etichettati.
- Strumenti nella barra verticale a sinistra (lettera = scorciatoia): Mano (H), Seleziona (V), Testo (T), Evidenzia (G), Sottolinea (U), Barra (K), Nota (N), Matita (P), Rettangolo (R), Ellisse (O), Linea (L), Freccia (A), Misura (M), Timbro (S), Immagine (I), Collegamento, Copri (W), Redigi (X), Gomma (E), Ritaglia (C), Firma.
- Testo: clic sulla pagina con Testo, scrivi, poi clic fuori o Ctrl+Invio; clic su una riga del PDF per modificarla; doppio clic (o Invio) su un testo per riaprirlo; Esc annulla.
- Evidenzia dal testo: con Mano seleziona il testo e usa la barra flottante (o G/U/K).
- Testo nei moduli: incolla la stringa (per esempio un IBAN), poi nell'ispettore attiva «Passo fisso» e scegli le caselle (o usa i preset Codice fiscale / IBAN); allarga il riquadro fino a coprire le caselline del modulo.
- Oggetti: trascina per spostare (Shift+clic e trascinamento su area vuota per selezioni multiple), maniglie per ridimensionare, maniglia in alto per ruotare (Shift = scatti di 15°), Ctrl+Alt+R e Ctrl+Alt+L ruotano di 90°, frecce per spostare di 1 pt (Shift = 10), Canc elimina, Ctrl+D duplica, Ctrl+L blocca. L’ispettore a destra mostra tutte le proprietà (direzione, specchiature, scala, proporzioni); il tasto destro apre il menu contestuale.
- Pagine: miniature nel pannello sinistro (trascina per riordinare, tasto destro per le azioni); Pagine → Inserisci, Da file, Copertina, Duplica, Ruota, Ritaglia, Dividi, Estrai, Combina.
- Annulla/Ripeti: Ctrl+Z / Ctrl+Y; cronologia e rami con Ctrl+Shift+H.
- Vista: Ctrl+rotella zoom, Ctrl+0/1/2 adattamenti, Alt+←/→ cronologia delle viste, Ctrl+G vai a pagina, F11 schermo intero, Ctrl+Shift+P presentazione, Ctrl+Shift+T tema.
- Ricerca: Ctrl+F, Invio / F3 per il risultato successivo (Shift+F3 il precedente); il risultato attivo è evidenziato in arancione e portato a schermo.
- Menu: barra in alto con sottomenu (Zoom, Disposizione, Pannelli, Trasforma, Cronologia…); frecce e Invio per navigarli, Esc per chiudere. Il tasto destro apre menu diversi su pagina, testo selezionato, oggetto, miniatura, scheda e recenti.
Windows 10/11 x64. Node.js 22+ per lo sviluppo. Microsoft Office o LibreOffice (facoltativi) migliorano la conversione da Office.
Set-Location "C:\Users\danie\Desktop\Software in sviluppo\PDF Editor"
npm install
npm run typecheck
npm test
npm run devTest end-to-end sull’app costruita (aprono PDF reali, modificano, esportano, stampano su PDF, salvano e verificano il risultato con pdf-lib):
npm run build
npm run test:e2enpm run test:all esegue typecheck, test unitari, build ed e2e. Con PDF_EDITOR_SHOTS=<cartella> gli e2e salvano gli screenshot; PDF_EDITOR_SAMPLE=<file.pdf> usa un PDF vero nel test delle funzioni. Il processo principale, solo in sviluppo, legge PDF_EDITOR_TEST_HOOKS=<file.json> per sostituire i dialoghi di sistema e isolare i dati utente.
npm run distL’eseguibile NSIS compare in release/. Non è firmato Authenticode, quindi:
- SmartScreen può chiedere «Ulteriori informazioni → Esegui comunque».
- Con Smart App Control attivo (Windows 11) l’installer viene bloccato del tutto: va disattivato in «Sicurezza di Windows → Controllo app e browser → Impostazioni di Smart App Control», oppure serve una firma Authenticode.
Le versioni pubblicate sono nella pagina Releases. Il push di un tag v* fa costruire e allegare l’installer dal workflow GitHub Actions.
src/main— processo Electron: finestre, dialoghi di sistema, IPC, conversione Office, stampa da finestra nascosta, scanner WIA, recupero, copie di sicurezza, font Unicode (resources/fonts).src/preload— bridgewindow.pdfEditor(compilato comeindex.cjs, perché il pacchetto è"type": "module"), inclusowebUtils.getPathForFileper il drag & drop.src/shared— modello documento, geometria delle pagine ruotate, layout del testo estratto, cronologia a rami, scrittura PDF con pdf-lib (contenuto, annotazioni, sommario, moduli, redazione), sanificazione, export Office, comandi; coperto dai test Vitest.src/renderer— React + Zustand: motore pdf.js (testo, annotazioni importate, moduli, link, render annullabile), viewer virtualizzato, overlay HTML sopra il canvas, pannelli, ispettore, dialoghi, MathJax per le formule.
Storico delle modifiche in CHANGELOG.md. Note di sicurezza in SECURITY.md.
Daniele Gabrovec — info.dottdanielegabrovec@gmail.com