Come analizzare PDF in PHP

Come analizzare PDF in PHP
Hai mai provato ad aprire un file PDF per cercare una riga o una parola specifica? Non funziona. Tutto ciò che troverai sono i dati binari che non hanno assolutamente senso.

L'analisi dei file PDF è molto noioso e complicato per qualsiasi sviluppatore di software, non perché è complesso ma a causa della natura dei file PDF. I file PDF contengono oggetti identificati da un numero univoco. Gli oggetti PDF possono raccogliere informazioni come immagini, testo e altro ancora. Questi oggetti sono crittografati e compressi, rendendo quasi impossibile elaborare i PDF come documenti di testo.

Questa guida imparerà come analizzare i documenti PDF utilizzando il linguaggio di programmazione PHP.

Impostare

Il primo passo è impostare un ambiente di sviluppo. Inizieremo installando PHP e le librerie richieste.

Per installare PHP, aprire il terminale e immettere il comando:

$ sudo apt-get installa php7.5 -y

Una volta installato PHP, usalo per installare il compositore come mostrato nei comandi:

php -r "copia ('https: // getCompeser.Org/Installer "," Compositore-Setup.php '); "
php -r "if (hash_file ('sha384', 'composir -setup.php ') ===
'906A84DF04CEA2AA72F40B5F787E49F22D4C2F19492AC310E8CBA5B96AC8B64115AC402C8CD292B
8a03482574915d1a8 ') echo' installatore verificato '; else echo 'installatore corrotto';
UNLINK ('Composer-Setup.php '); echo php_eol; "
PHP Composer-Setup.PHP
Php -r "Unlink ('Composer -Setup.php '); "

Una volta installato e impostato il compositore, possiamo procedere a utilizzare la libreria PDFParser.

Apri il terminale e inserisci il comando:

$ sudo compositore.Phar richiede Smalot/PDFParser

Generare file PDF

Il prossimo passo è selezionare un file PDF per l'uso. Esistono vari modi e risorse che puoi utilizzare per creare un file PDF. Ad esempio, se sei su Windows, puoi esportare a .documento doc/docx su pdf.

Tuttavia, per questo esempio, useremo file gratuiti prontamente disponibili su Internet. Apri il browser e vai alla risorsa fornita di seguito:

https: // filesamples.com/formati/pdf

Seleziona uno dei file PDF disponibili e salvalo sul sistema.

NOTA: Assicurarsi di verificare i file dannosi prima di utilizzare tali documenti. Strumenti come virustetali sono grandi risorse.

https: // www.virustotale.com/gui/

Di seguito è riportato un rapporto di scansione di campione1.file PDF.

https: // www.virustotale.com/gui/file/6b22904a7de5b77bf40598c37e94e01771485e1b900651b58bf50af7009f8056

Estrai metadati PDF

Per estrarre i metadati dal PDF usando la libreria PDF Parser, possiamo implementare il codice di esempio come mostrato di seguito:

// Includi il caricatore del compositore
Includi 'Venditore/Autoload.php ';
// analizza pdf
$ parser = new \ Smalot \ pdfParser \ parser ();
$ pdf = $ parser-> parsefile ("campione1.PDF");
// Ottieni metadati
$ metadata = $ pdf-getdetails ();
// Loop ogni proprietà
foreach ($ metadata come meta => $ value)
if (is_array ($ value))
$ valore.implode (",", $ value);

echo $ meta . "=>" . $ valore . "\N";

?>

Il codice sopra dovrebbe recuperare le informazioni sui metadati sul file. Tali informazioni includono:

CreationDate: 2016-12-22t11: 43: 55-05: 00
Creatore: Adobe Indesign CC 2015 (Macintosh)
MODDATE: 2016-12-29T15: 47: 20-05: 00
Produttore: Adobe PDF Library 15.0
Intrappato: falso
Pagine 1

Estrarre testo

Per estrarre il testo da ogni pagina del PDF inviato, possiamo implementare il codice come mostrato di seguito:

Includi "Vendor/Autoload.php ";
$ parser = new \ Smalot \ pdfParser \ parser ();
$ pdf = $ parser-> parsefile ("campione1.PDF");
$ text = $ pdf-> getText ();
echo $ text;
?>

Una volta eseguito il codice sopra, dovremmo vedere il testo estratto dal campione1.file PDF. Esempio Ouput è come mostrato di seguito:

Chiusura

Questa guida mostra come puoi analizzare i file PDF utilizzando PHP e la libreria PDFParser. Controlla la documentazione per saperne di più.