Documenti · PDF Toolkit
Cosa succede sotto il cofano quando unisci PDF in un browser
· Come funziona
pdf formati di file elaborazione del browser
L'unione di PDF sembra una pinzatura, ma lo strumento in realtà copia oggetti di pagina, caratteri e immagini da un oggetto grafico a un altro e scrive una nuova tabella di riferimenti incrociati. Questo post illustra questo processo mentre avviene all'interno di una scheda del browser.
Il punto fondamentale che non lo è: perché due PDF non possono essere semplicemente concatenati come byte e cosa deve ricostruire uno strumento di unione
Due PDF hanno ciascuno la propria intestazione, numeri di oggetto, struttura delle pagine e informazioni sui riferimenti incrociati. Aggiungendo i byte del secondo file dopo il primo non si aggiungono le sue pagine all'albero delle pagine del primo documento. Una fusione deve scrivere un nuovo PDF con riferimenti che puntano ai propri oggetti.
Lettura di ogni file in memoria: come il browser carica i tuoi PDF come array di byte tramite il file API senza alcun caricamento
Il selettore file fornisce al browser oggetti File, non URL del server. L'interfaccia PDF legge ogni file selezionato con file.arrayBuffer() e passa i byte Uint8Array all'operazione di elaborazione. L'unione non carica file. Ciò è diverso dall'affermare che visitare il sito Web non effettua mai richieste di rete: il caricamento del sito stesso richiede una connessione.
Analisi del grafico dell'oggetto: intestazioni, oggetti numerati, albero delle pagine e tabella dei riferimenti incrociati che il parser deve ricostruire
La libreria PDF carica ogni documento sorgente e ne risolve gli indici di pagina. Le pagine si riferiscono a oggetti altrove nel file, inclusi caratteri, immagini e stato della grafica. Una sezione o un flusso di riferimenti incrociati aiuta il lettore a individuare oggetti indiretti; non è un elenco di pagine da incollare insieme. Un input danneggiato o crittografato può impedire l'analisi.
Copiare le pagine e le relative risorse: perché ogni carattere, immagine e grafica a cui fa riferimento una pagina deve viaggiare con esso
L'implementazione chiama PDFDocument.create(), quindi out.copyPages(source, source.getPageIndices()) per ogni input in ordine e aggiunge ogni pagina copiata all'output. La libreria trasferisce le strutture di riferimento necessarie per ciascuna pagina; non sta creando screenshot bitmap. Non dare per scontato che ogni funzionalità a livello di documento si sposti con le pagine.
Scrivere il file unito: rinumerare gli oggetti, creare un nuovo albero di pagine e una tabella di riferimenti incrociati, quindi consegnarti un download
Dopo aver aggiunto le pagine, la libreria salva un nuovo array di byte PDF. Il suo scrittore gestisce i riferimenti agli oggetti e la serializzazione, invece di concatenare i file originali. L'applicazione offre il risultato come download. Poiché si tratta di un nuovo documento, non è necessario che la dimensione in byte sia uguale alla somma degli input.
Esempio pratico: unire una lettera di accompagnamento di tre pagine e un accordo scansionato di dodici pagine e cosa dicono l'ordine e le dimensioni delle pagine del risultato
Supponiamo che un amministratore dell'ufficio selezioni prima una lettera di accompagnamento di tre pagine e poi un accordo di dodici pagine. Il risultato dovrebbe avere quindici pagine: pagine di copertina 1–3, quindi pagine di accordo 4–15. Controllare la prima e l'ultima pagina e il totale prima di inviare il file. Un accordo digitalizzato può mantenere l'output di grandi dimensioni perché le sue pagine contengono risorse immagine.
Cosa non copre: segnalibri, campi modulo e metadati del documento, la cui gestione dipende dalle regole dello strumento ed è documentata sulla sua pagina
La copia delle pagine non garantisce la conservazione di segnalibri, campi modulo, metadati o firme. In particolare, non dare mai per scontato che una firma crittografica rimanga valida dopo una riscrittura strutturale. Conservare gli originali e verificare separatamente eventuali requisiti legali di firma; il nuovo file non è un originale firmato.
Conclusione: l'unione è una riscrittura strutturale, non una concatenazione, e il PDF Toolkit esegue tale riscrittura nella scheda senza che il file lasci mai il tuo dispositivo
Una fusione PDF è una riscrittura strutturale. Il PDF Toolkit legge i byte selezionati nella scheda, copia le pagine nell'ordine del file selezionato e scrive un nuovo file. Per verificare il limite dell'elaborazione locale durante la sessione, ispeziona il pannello Rete del browser durante l'unione; distinguere i caricamenti delle risorse del sito web da qualsiasi caricamento del documento.