Appiattire PDF online gratis
Appiattisci tutti i campi modulo e annotazioni in contenuto di pagina statico. Risultati immediati, nessun caricamento sul server.
Supporta i file PDF · fino a 100 MB
Opzioni di appiattimento
Come funziona
- Seleziona o trascina un file PDF sopra.
- Scegli quali elementi appiattire (campi modulo e/o annotazioni).
- Fai clic su «Appiattisci PDF» per elaborare il file nel tuo browser · nulla viene caricato.
- Scarica immediatamente il PDF appiattito con tutti gli elementi interattivi convertiti in contenuto statico.
Perché appiattire i PDF?
Appiattire i PDF è essenziale per finalizzare documenti, prevenire modifiche accidentali e garantire la compatibilità tra sistemi. Quando appiattisci un modulo, tutti i dati inseriti dall'utente diventano permanenti e non modificabili. È fondamentale per documenti legali, contratti, domande completate e archivi. L'appiattimento riduce anche leggermente la dimensione del file e garantisce che il PDF appaia identico su tutti i dispositivi e applicazioni, poiché non è necessaria l'interpretazione del modulo.
Cosa viene appiattito?
- Campi modulo · Caselle di testo, caselle di controllo, pulsanti di opzione, menu a discesa e campi firma diventano testo o grafica statici.
- Annotazioni · Commenti, evidenziazioni, sottolineature, timbri e altri contrassegni vengono fusi nello sfondo della pagina.
- Valori dei campi · Qualsiasi dato inserito nei campi modulo viene preservato e diventa contenuto permanente della pagina.
- Aspetto visivo · Il layout, i caratteri, i colori e il design rimangono esattamente come prima dell'appiattimento.
Quando appiattire i PDF
- Moduli compilati · Appiattisci dopo aver compilato domande, contratti o sondaggi per finalizzare il documento.
- Documenti legali · Assicurati che contratti firmati e accordi legali non possano essere modificati dopo la firma.
- Archiviazione · Appiattisci prima dell'archiviazione a lungo termine per garantire che i documenti restino invariati e leggibili.
- Condivisione · Invia PDF appiattiti quando non vuoi che i destinatari modifichino i campi modulo.
- Stampa · Appiattisci prima di stampare per garantire che tutti i contenuti appaiano correttamente sulla carta.
Domande frequenti
Il PDF avrà un aspetto diverso dopo l'appiattimento?
No. L'appiattimento preserva l'aspetto visivo esatto del tuo PDF. Tutti i campi modulo, annotazioni e contenuti appariranno identici a prima. Viene rimossa solo l'interattività.
Posso annullare l'appiattimento?
No. Una volta appiattito un PDF, i campi modulo originali e gli elementi interattivi vengono fusi nello sfondo della pagina. Non è possibile recuperarli. Conserva sempre una copia di backup del PDF originale se prevedi di doverlo modificare in seguito.
E se il PDF non ha campi modulo?
Se un PDF non contiene campi modulo o annotazioni, il file verrà elaborato ma non verrà appiattito. Il file in uscita sarà simile a quello in ingresso. Puoi appiattire qualsiasi PDF in sicurezza, anche quelli senza elementi interattivi.
Il mio PDF viene caricato su un server?
No. Tutto l'appiattimento avviene localmente nel tuo browser. Il tuo PDF non lascia mai il tuo dispositivo, garantendo privacy e sicurezza complete.
L'appiattimento riduce la dimensione del file?
Leggermente. La rimozione delle definizioni dei campi modulo può ridurre la dimensione del file dell'1-5% a seconda della struttura del PDF. Tuttavia, l'appiattimento serve principalmente a finalizzare i documenti, non a comprimerli.
Qual è il limite di dimensione del file?
Lo strumento supporta PDF fino a 100 MB. Il tempo di elaborazione dipende da dimensione e complessità del file. La maggior parte dei PDF viene appiattita in pochi secondi.
Cosa significa davvero «appiattire un PDF»
«Appiattire» è uno di quei verbi degli strumenti PDF che indica più operazioni genuinamente diverse a seconda di cosa viene appiattito, e la distinzione conta perché le operazioni riescono o falliscono per ragioni differenti. L'appiattimento dei campi di modulo è l'operazione che questo strumento esegue di default. Un campo di modulo PDF, in senso AcroForm, è un costrutto logico: c'è un oggetto campo nel catalogo del documento con un nome come FirstName e un valore come Sasha, e ci sono una o più annotazioni widget sulla pagina che rendono visivamente il campo. Il widget sa cosa disegnare perché il suo dizionario di aspetto (/AP) punta a un piccolo flusso di contenuto che contiene gli operatori di disegno, i font incorporati e il testo. Il campo e il widget sono due oggetti diversi: uno memorizza il dato, l'altro l'immagine. L'appiattimento inverte la relazione: il flusso di aspetto viene disegnato direttamente sul flusso di contenuto della pagina come se ne avesse sempre fatto parte, e poi gli oggetti campo e widget vengono eliminati. I pixel sembrano identici, ma la struttura del modulo è scomparsa.
L'appiattimento delle annotazioni è l'operazione analoga per le annotazioni non legate al modulo: post-it, evidenziazioni, barrature, disegni a mano libera, callout di testo, timbri. Ogni annotazione di marcatura ha anch'essa un flusso di aspetto (/AP/N) che il lettore usa per disegnare il segno; l'appiattimento scrive quel flusso sulla pagina e rimuove l'oggetto annotazione. Il segno visivo rimane, la possibilità di cliccare, selezionare, modificare o rimuovere il segno scompare. Questo strumento appiattisce di default sia i campi di modulo sia le annotazioni; le due caselle sopra permettono di disabilitare l'una o l'altra in modo indipendente se vuoi mantenere un tipo di interattività mentre rimuovi l'altro.
L'appiattimento della trasparenza è altra cosa: l'operazione che prende un PDF con oggetti semitrasparenti e li converte in una collezione di mattonelle completamente opache che rendono uguale una volta composte. La conversione archivistica PDF/A-1 ha bisogno di quel passaggio perché PDF/A-1 non consente trasparenza. PDF/A-2 in poi consente trasparenza in modo nativo e salta il passaggio. Questo strumento non esegue l'appiattimento della trasparenza, la sovrapposizione di termini è sfortunata ma le operazioni sono distinte. Se hai bisogno della conformità PDF/A-1, esegui prima questo strumento per appiattire moduli e annotazioni, poi esegui un convertitore PDF/A dedicato che gestisce il passaggio della trasparenza.
Come funziona questo strumento
Questo strumento usa pdf-lib, la libreria PDF JavaScript scritta da Andrew Dillon e mantenuta come open source dal 2018. pdf-lib è implementata in TypeScript e compilata a circa 1,1 MB di JavaScript puro senza dipendenze native o WebAssembly. Funziona in qualunque ambiente JavaScript: la scheda del browser qui, ma anche Node.js, Deno, React Native e i service worker. La libreria è lo standard di fatto per la manipolazione PDF lato browser: è usata da Documenso, dalle funzioni di editing PDF di vari prodotti SaaS importanti e da innumerevoli strumenti interni e pipeline di elaborazione moduli.
Quando selezioni un PDF, l'API File del browser consegna i byte grezzi direttamente a pdf-lib che gira nel motore JavaScript della pagina. pdf-lib analizza il file in un modello a oggetti, percorre l'albero AcroForm per contare i campi, espone il conteggio alla pagina e attende il pulsante Appiattisci. Quando clicchi Appiattisci, le opzioni selezionate vengono passate al metodo form.flatten() di pdf-lib, che itera su ogni campo, rigenera i flussi di aspetto per catturare i valori attuali, copia i flussi di aspetto sulla pagina di ogni widget al rettangolo del widget, e rimuove gli oggetti widget e campo dal documento. I byte risultanti sono serializzati in un Blob che la pagina avvolge in un URL di download. Nessuna richiesta di rete viene inviata durante l'appiattimento. Puoi verificare che non ci sia caricamento: apri gli strumenti per sviluppatori del browser nella scheda Rete prima di cliccare Appiattisci, esegui l'operazione e osserva se c'è qualche richiesta con il contenuto del tuo file. Non ce ne sarà nessuna.
La struttura AcroForm, brevemente
Quando un PDF contiene un modulo interattivo, il catalogo del documento include una voce /AcroForm che punta a un dizionario AcroForm. I campi portanti del dizionario sono /Fields (l'array degli oggetti campo, ciascuno con un nome parziale, un valore corrente, un tipo di campo e un array kids di riferimenti ad annotazioni widget), /DR (il dizionario delle risorse di default che contiene i font e gli spazi colore referenziati dai flussi di aspetto dei campi), /DA (la stringa di aspetto di default, un frammento di flusso di contenuto su una riga come 0 0 0 rg /Helv 12 Tf che imposta il colore del testo, il font e la dimensione di default), e /NeedAppearances (un flag booleano).
Il flag /NeedAppearances conta perché l'appiattimento di pdf-lib rispetta l'aspetto memorizzato in ogni widget. Quando il flag è true, il lettore dovrebbe rigenerare i flussi di aspetto prima della visualizzazione, quindi i flussi su disco possono essere obsoleti. La regola pratica è rigenerare gli aspetti prima dell'appiattimento, cosa che questo strumento fa per te. Un campo può avere più annotazioni widget su pagine diverse (utile per i gruppi di pulsanti radio o i blocchi di firma ricorrenti); un widget può appartenere a un solo campo. Il widget di per sé è solo un'annotazione con /Subtype /Widget, un riferimento parent all'oggetto campo, un rect che indica dove disegnare sulla pagina, e un flusso di aspetto /AP/N che vi viene disegnato.
Una breve storia dei moduli PDF
- 1996, PDF 1.2, Acrobat 3, AcroForm introdotto. I campi di modulo sono oggetti PDF nel catalogo del documento; le annotazioni widget li rendono sulla pagina. Il modello è semplice, l'aspetto è fissato dall'autore, e i dati transitano tramite FDF (Forms Data Format) e XFDF (la variante XML).
- 2002, Adobe acquisisce Accelio. Adobe eredita la tecnologia XFA, un linguaggio di definizione di moduli basato su XML sviluppato in Canada che JetForm (poi Accelio) aveva sottoposto al W3C nel 1999.
- 2003, PDF 1.5, Acrobat 6, moduli XFA introdotti dentro il PDF. Un modulo XFA è un documento XML completo incorporato nel PDF come un pacchetto. XFA statico rende l'XML in un layout fisso; XFA dinamico cambia layout in risposta a dati, script e input utente. L'XFA dinamico non può essere visualizzato da nient'altro che Adobe Reader e Adobe Acrobat.
- 2008, PDF 1.7 standardizzato come ISO 32000-1. AcroForm e XFA entrambi formalmente parte della specifica, anche se XFA è riferito da documentazione Adobe esterna anziché essere pienamente specificato inline.
- 2017, PDF 2.0 pubblicato come ISO 32000-2, XFA deprecato. Lo standard ora dice che i processori interattivi che supportano XFA «devono indicare chiaramente all'utente quando sta interagendo con un modulo XFA», che è un modo educato di dire che il formato è sulla via dell'uscita. AcroForm rimane l'unico formato di modulo PDF standardizzato.
- Dal 2020 in poi, AcroForm è lo standard pratico. La maggior parte dei lettori PDF non-Adobe non supporta più affatto XFA. AcroForm si appiattisce in modo pulito con qualunque libreria PDF ragionevole perché la struttura è ben definita. XFA non si appiattisce con strumenti non-Adobe perché la versione dinamica richiede un motore JavaScript e un motore di layout che essenzialmente solo Adobe Reader e Acrobat portano con sé.
L'universo delle annotazioni
PDF definisce circa 25 sottotipi di annotazione. Quelli che un'operazione di appiattimento gestisce, in ordine approssimativo di frequenza: Text (l'icona post-it con finestra popup); Highlight, Underline, Squiggly, StrikeOut (il gruppo di marcatura testuale, ognuno con un array /QuadPoints che descrive i quadrilateri da disegnare); FreeText (annotazioni testuali rettangolari poste direttamente sulla pagina, usate per callout ed etichette inline); Line, Square, Circle, Polygon, PolyLine (il gruppo delle forme); Ink (tratti di penna a mano libera da una penna digitale o stilo); Stamp (immagini di timbro come «Approved» o «Confidential»); FileAttachment (un'icona con un file allegato); Caret (un piccolo segno «inserisci testo qui», spesso accoppiato con Highlight); Popup (la finestra fluttuante che contiene il testo del commento visibile all'utente, appiattita insieme alla sua annotazione di marcatura genitore); Widget (il gruppo dei campi di modulo, gestito dall'appiattimento AcroForm anziché dall'appiattimento delle annotazioni).
Ogni tipo di annotazione ha le sue regole di aspetto, ma l'operazione di appiattimento non ha bisogno di conoscerle; rende semplicemente quel che c'è nel flusso /AP/N dell'annotazione sulla pagina. Le annotazioni senza /AP (una piccola minoranza, soprattutto PDF mal formati) non possono essere appiattite in modo affidabile e di solito sono lasciate intatte. Le annotazioni Link (zone cliccabili di URL) sono tecnicamente annotazioni ma di solito non vengono appiattite da questo strumento: l'indicazione visiva (il testo sottolineato) è già parte del contenuto della pagina e non c'è nulla di grafico da incorporare, quindi rimuovere il link cancellerebbe solo il bersaglio del clic.
Flussi di lavoro reali che motivano l'appiattimento PDF
- Deposito giudiziario elettronico tramite CM/ECF e sistemi simili. Il sistema giudiziario federale americano richiede che i PDF compilabili siano appiattiti prima del caricamento nel suo sistema di deposito elettronico CM/ECF. La ragione è che CM/ECF memorizza il PDF e i dati del modulo separatamente, e i moduli compilabili sono stati una fonte ricorrente di confusione, dati mancanti e ticket di corruzione di campo. Diverse corti distrettuali pubblicano avvisi espliciti su come appiattire. Sistemi simili nei tribunali canadesi, britannici e dell'UE applicano la stessa regola. Il flusso standard è compilare il modulo, appiattire e caricare la copia appiattita.
- Piattaforme di firma elettronica che gestiscono in modo imperfetto i campi esistenti. DocuSign e Adobe Sign devono entrambi fare qualcosa con i campi AcroForm sui PDF caricati, e la conversione nella loro rappresentazione interna di campi di firma a volte perde dati, rompe l'allineamento o rinomina male i campi. Adobe Sign offre esplicitamente un interruttore «appiattisci al caricamento» per prevenire gli errori di conversione. Pre-appiattire qui ti dà il controllo su cosa viene fissato anziché lasciare quella decisione alla piattaforma di firma.
- Archiviazione dei contratti firmati e dei registri aziendali. I team legali appiattiscono i contratti firmati prima dell'archiviazione a lungo termine in modo che l'accesso successivo al contratto non presenti alcuna opportunità di modificare i dati del modulo. L'appiattimento rende i valori parte del contenuto permanente della pagina. Altrettanto comune per i record HR, le dichiarazioni dei redditi compilate e qualsiasi documento di conformità che debba rimanere semanticamente invariato attraverso i futuri aggiornamenti del software dei lettori.
- Conversione archivistica PDF/A. PDF/A-1 (lo standard archivistico del 2005) non consente trasparenza, multimedia incorporato, JavaScript o contenuto crittografato, e preferisce fortemente l'assenza di campi AcroForm, sulla teoria che un documento archivistico non dovrebbe dipendere da un lettore futuro che implementi correttamente la semantica dei moduli. Appiattire prima della conversione PDF/A-1 è il flusso standard. PDF/A-2 e successivi rilassano alcune di queste restrizioni ma preferiscono ancora moduli appiattiti per l'affidabilità archivistica.
- Flussi di stampa e stampa-in-PDF. Alcuni driver di stampa gestiscono i campi di modulo compilati in modo incoerente, specialmente quando il PDF è stato compilato in un lettore e stampato da un altro (Preview su macOS che legge un PDF compilato in Acrobat è il caso da manuale). Appiattire prima della stampa elimina la variabilità da lettore a lettore: il flusso di aspetto che era sullo schermo al momento dell'appiattimento è l'aspetto che finisce sulla carta.
- Condividere un modulo compilato quando il destinatario non deve poterlo modificare. Il PDF sembra ancora un modulo, ma i campi non possono essere svuotati, le caselle non possono essere deselezionate e i valori non possono essere modificati. I flag di campo in sola lettura esistono per lo stesso scopo, ma l'appiattimento è più durevole: i lettori non possono ignorare selettivamente l'assenza di campi come a volte ignorano il flag di sola lettura.
Insidie comuni e cosa significano
- L'output ha campi vuoti dove c'erano valori compilati. Il PDF è stato scritto con
/NeedAppearances truee non ha mai avuto i suoi flussi di aspetto widget generati; il lettore li rigenerava al volo ogni volta che il file veniva aperto, quindi i valori erano visibili ma non persistiti. La correzione è rigenerare gli aspetti prima dell'appiattimento. Questo strumento lo fa automaticamente, ma alcune altre implementazioni di appiattimento (inclusi alcuni strumenti da riga di comando) saltano la rigenerazione e producono PDF con campi vuoti a partire da file sorgente con/NeedAppearances true. - Alcuni campi si appiattiscono ma altri no. Il modulo è un misto di AcroForm e XFA, o XFA puro. I campi AcroForm si appiattiscono; i campi XFA richiedono gli strumenti Adobe perché il layout guidato da XML non può essere reso da altre librerie. La correzione è o aprire il PDF in Adobe Acrobat e fare «Salva come altro, PDF esteso per lettore» per convertirlo in AcroForm, o accettare che i campi XFA rimarranno interattivi. I file dei servizi pubblici canadesi e delle autorità fiscali tedesche sono ancora spesso solo XFA.
- I font sembrano leggermente sbagliati dopo l'appiattimento. Il flusso di aspetto del modulo referenziava un font per nome nella stringa di aspetto di default
/DAma il font non era incorporato; il lettore PDF sostituiva un font di sistema al momento della visualizzazione, e l'appiattimento ha fissato la sostituzione. Questo produce un testo visivamente corretto in un lettore che ha lo stesso fallback e visivamente diverso in un lettore che non lo ha. La correzione è appiattire con Helvetica incorporata, cosa che pdf-lib fa di default; in casi patologici, il PDF sorgente ha bisogno che il font sia incorporato prima dell'appiattimento. - La firma digitale è ora invalida. Per progetto. Una firma digitale è un hash crittografico calcolato sull'intervallo di byte del documento, quindi qualsiasi cambiamento strutturale (incluso l'appiattimento) la invalida. Se intendi mantenere la firma, non appiattire. Se intendi appiattire, firma dopo, non prima. Un'immagine di firma disegnata è solo un grafico e sopravvive all'appiattimento intatta, ma non ha mai portato verifica crittografica in primo luogo, solo una rivendicazione visiva.
- Il PDF appiattito ha la stessa dimensione o è più grande dell'originale. L'appiattimento a volte aumenta la dimensione del file. I font incorporati che i flussi di aspetto referenziano ora devono essere inclusi nelle risorse di pagina anziché come valori di default del modulo, e pdf-lib non deduplica aggressivamente i sottoinsiemi di font tra le pagine. La differenza è solitamente piccola (meno del 10 per cento), ma non sempre è una riduzione. Lo scopo dell'appiattimento è strutturale, non la compressione. Per ridurre le dimensioni, passa il PDF appiattito attraverso Compressore PDF gratuito online.
- I campi del modulo si vedono bene in anteprima ma scompaiono dopo l'appiattimento. I campi avevano bit di flag
/Fimpostati che li contrassegnavano come Hidden o NoView (flag di annotazione della specifica PDF). I campi nascosti per definizione non hanno aspetto da disegnare, quindi appiattirli non produce nulla sulla pagina. È il comportamento corretto ma sorprendente se non sapevi che i campi erano nascosti. Controlla il PDF nella modalità di modifica del modulo di Adobe Acrobat per vedere quali campi erano contrassegnati come nascosti.
Appiattimento solo browser contro appiattimento cloud
Ogni servizio cloud di appiattimento PDF (Smallpdf, ILovePDF, PDF24 web, Adobe Acrobat Online, Sejda, DocHub e una dozzina di operatori più piccoli) carica il tuo PDF sui server dell'operatore, esegue l'appiattimento lì e restituisce la copia appiattita come download. Il PDF transita per internet pubblico cifrato con TLS, riposa nello storage dell'operatore per una finestra che va da minuti a giorni a seconda dell'operatore, viene appiattito dalla libreria PDF dell'operatore in esecuzione sull'infrastruttura dell'operatore, e poi viene eliminato. Le politiche di privacy generalmente si impegnano alla cancellazione entro alcune ore o un giorno, TLS in transito e (per gli operatori maggiori) infrastruttura certificata ISO/IEC 27001. Gli operatori hanno ragioni commerciali per onorare questi impegni. Hanno anche log, snapshot di backup e flussi di dati di risposta agli incidenti che, in generale, non sono coperti dall'impegno di cancellazione.
Questo strumento non carica il PDF. Il codice pdf-lib gira nella tua scheda del browser, riceve i byte del file tramite l'API File, esegue l'appiattimento nel motore JavaScript e restituisce i byte appiattiti come Blob alla stessa scheda. Puoi dimostrare che non c'è caricamento: apri gli strumenti per sviluppatori nella scheda Rete prima di cliccare Appiattisci, esegui l'operazione e osserva che nessuna richiesta parte con il contenuto del tuo file. Il codice pdf-lib è stato caricato una volta da un CDN al caricamento della pagina ed è in cache nel browser; l'operazione di appiattimento non fa altre richieste di rete. Il compromesso è l'ambito di funzionalità: i servizi cloud spesso raggruppano OCR, conversione Word/Excel o compressione aggressiva con l'appiattimento. L'appiattimento lato browser qui fa solo l'appiattimento. Per OCR o conversione di formato i servizi cloud sono la scelta giusta; per un documento sensibile in cui la postura di privacy conta, è il browser.
Altre domande frequenti
Quali tipi di modulo gestisce questo strumento?
AcroForm in tutte le sue varianti: campi di testo, caselle di controllo, pulsanti radio, menu a tendina, list box, pulsanti e campi di firma (il widget visivo, non la firma crittografica). I moduli XFA non sono supportati perché il layout dinamico di XFA richiede il JavaScript e il motore di layout proprietari di Adobe. Se il tuo modulo è solo XFA, l'appiattimento riuscirà ma lascerà il modulo interattivo; aprire il PDF in Adobe Acrobat e salvare come PDF esteso per lettore converte la maggior parte dei moduli XFA in equivalenti AcroForm che questo strumento può poi appiattire.
Posso appiattire solo una pagina o solo un campo?
No. Questo strumento appiattisce l'intero documento. L'appiattimento selettivo (un campo alla volta o una pagina alla volta) richiede Adobe Acrobat Pro o una libreria di sviluppo chiamata da uno script personalizzato. Per la maggior parte dei flussi di lavoro, l'appiattimento dell'intero documento è comunque ciò che vuoi, dato che «alcuni campi statici, altri modificabili» raramente è l'intento.
Questo preserva segnalibri, metadati e allegati?
Sì per i segnalibri (lo schema del documento), i metadati del documento (titolo, autore, oggetto, parole chiave, date di creazione e modifica), i file e gli allegati incorporati, i gruppi di contenuto opzionale (livelli) e la struttura di accessibilità del PDF taggato per il contenuto non legato al modulo. I tag legati al modulo vengono rimossi insieme ai campi, che è il comportamento atteso per l'appiattimento. I collegamenti ipertestuali sopravvivono quando «appiattisci annotazioni» è deselezionato; quando entrambe le opzioni sono selezionate, vengono rimosse anche le zone cliccabili delle annotazioni Link (il testo sottolineato visibile rimane).
E i PDF protetti da password?
L'appiattimento non può girare su un PDF crittografato: pdf-lib deve leggere la struttura del modulo, e la lettura è bloccata dalla decifrazione. Sblocca prima il PDF con Sblocca PDF gratis online, poi appiattisci. Se vuoi che l'output appiattito sia protetto da password, passalo poi attraverso Protezione PDF con password gratuita online. La sequenza in tre passi sblocca, appiattisci, proteggi è il flusso standard per le pipeline archivistiche «finalizza e ri-proteggi».
È lo stesso che stampare in PDF?
Praticamente simile, strutturalmente diverso. Stampare in PDF rasterizza o reimpone la pagina attraverso la pipeline di stampa del sistema operativo, che di solito appiattisce i campi come effetto collaterale ma anche ricodifica le immagini, reincorpora i font in sottoinsiemi diversi e a volte cambia la dimensione della pagina o i margini. L'appiattimento di questo strumento opera direttamente sulla struttura degli oggetti PDF, preservando esattamente le immagini, i font e la geometria di pagina originali. Usa stampa-in-PDF quando vuoi una copia rasterizzata fresca; usa l'appiattimento quando vuoi il PDF originale con solo la struttura del modulo rimossa.
Esiste un equivalente desktop o da riga di comando?
pdf-lib gira in Node.js (npm install pdf-lib) e la chiamata di appiattimento è la stessa: await form.flatten() seguito da await pdfDoc.save(). Per la riga di comando, qpdf ha un equivalente parziale (qpdf --flatten-rotation --generate-appearances) che gestisce la rigenerazione dell'aspetto ma non il passo di rimozione del modulo; l'operazione flatten di pdftk fa la rimozione ma salta la rigenerazione dell'aspetto. La voce di menu «Appiattisci campi» di Adobe Acrobat Pro gestisce entrambi i passi nativamente ed è il riferimento per la parità di comportamento.