Un file PDF è una raccolta di oggetti (pagine, font, immagini, annotazioni) indicizzati da una tabella di riferimenti incrociati (xref). Quando la tabella xref è danneggiata, ad esempio a causa di un download incompleto, un salvataggio non riuscito o un danneggiamento del supporto di memorizzazione, il lettore non riesce a trovare gli oggetti e segnala il file come illeggibile. Il motore di riparazione di LuraPDF utilizza pdf-lib con un parser di basso livello personalizzato che ignora la tabella xref danneggiata e analizza invece il flusso di byte grezzi, identificando i confini degli oggetti tramite le firme delle loro intestazioni. A partire da questi oggetti individuati, ricostruisce una tabella xref e una struttura di pagine valide, producendo un nuovo PDF conforme.
Quando il flusso di oggetti è troppo frammentato per consentire la ricostruzione strutturale, LuraPDF ricorre a PDF.js in modalità permissiva, che tollera la sintassi errata e tenta di eseguire il rendering o estrarre il testo dai flussi di contenuto sopravvissuti. La modalità di recupero del testo cattura direttamente gli operatori di testo, bypassando il rendering dei glifi quando i font sono mancanti. Il risultato è un PDF in formato testo semplice o a livelli di testo che preserva le parole anche in caso di perdita di informazioni sul layout. Questo approccio a livelli – prima la riparazione della struttura, poi il recupero della pagina e infine il recupero del testo – massimizza il recupero in presenza della più ampia gamma di tipi di danneggiamento.