Comment analyser PDF en php

Comment analyser PDF en php
Avez-vous déjà essayé d'ouvrir un fichier PDF pour rechercher une ligne ou un mot spécifique? Ça ne marche pas. Tout ce que vous trouverez, ce sont des données binaires qui n'ont absolument aucun sens.

Analyser les fichiers PDF est très fastidieux et compliqué pour tout développeur de logiciel, non pas parce qu'il est complexe mais en raison de la nature des fichiers PDF. Les fichiers PDF contiennent des objets identifiés par un numéro unique. Les objets PDF peuvent collecter des informations telles que des images, du texte et plus. Ces objets sont cryptés et compressés, ce qui rend presque impossible de traiter les PDF en tant que documents texte.

Ce guide apprendra à analyser les documents PDF à l'aide du langage de programmation PHP.

Installation

La première étape consiste à mettre en place un environnement de développement. Nous commencerons par installer PHP et les bibliothèques requises.

Pour installer PHP, ouvrez le terminal et entrez la commande:

$ sudo apt-get install php7.5 -y

Une fois PHP installé, utilisez-le pour installer composer comme indiqué dans les commandes:

php -r "copy ('https: // getComposer.org / installateur ',' compositeur-settup.php '); "
php -r "if (hash_file ('sha384', 'compositeur-settup.php ') ===
'906A84DF04CEA2AA72F40B5F787E49F22D4C2F19492AC310E8CBA5B96AC8B64115AC402C8CD292B
8A03482574915D1A8 ') ECHO' INSTALLER VÉRIFIÉ '; else echo 'installateur corrupt';
Unlink ('Composer-Settup.php '); echo php_eol; "
PHP Composer-Settup.php
php -r "Unlink ('compositeur-settup.php '); "

Une fois que le compositeur a installé et configuré, nous pouvons procéder à l'utilisation de la bibliothèque PDFParser.

Ouvrez le terminal et entrez la commande:

$ sudo php compositeur.phar nécessite un smalot / pdfparser

Générer un fichier PDF

L'étape suivante consiste à sélectionner un fichier PDF à utiliser. Il existe différentes manières et ressources que vous pouvez utiliser pour créer un fichier PDF. Par exemple, si vous êtes sous Windows, vous pouvez exporter un .Document Doc / Docx à PDF.

Cependant, pour cet exemple, nous utiliserons des fichiers libres facilement disponibles sur Internet. Ouvrez votre navigateur et accédez à la ressource fournie ci-dessous:

https: // fichiers échantillons.com / formats / pdf

Veuillez sélectionner l'un des fichiers PDF disponibles et l'enregistrer sur votre système.

NOTE: Assurez-vous de vérifier les fichiers malveillants avant d'utiliser ces documents. Des outils tels que Virustotal sont d'excellentes ressources.

https: // www.virustotal.com / GUI /

Ce qui suit est un rapport d'analyse de l'échantillon1.fichier PDF.

https: // www.virustotal.com / GUI / Fichier / 6B22904A7DE5B77BF40598C37E94E01771485E1B900651B58BF50AF7009F8056

Extraire les métadonnées PDF

Pour extraire les métadonnées du PDF à l'aide de la bibliothèque PDF Parser, nous pouvons implémenter un exemple de code comme indiqué ci-dessous:

// inclut le compositeur automatique
Inclure 'Vendeur / Autoload.php ';
// analyse PDF
$ parser = new \ smalot \ pdfParser \ parser ();
$ pdf = $ parser-> parsefile ("Sample1.pdf ");
// Obtenez des métadonnées
$ métadonnées = $ pdf-getDetails ();
// boucle chaque propriété
foreach ($ métadonnées comme méta => $ valeur)
if (is_array ($ value))
$ valeur.Implode (",", $ value);

Echo $ méta . "=>" . $ valeur . "\ n";

?>

Le code ci-dessus doit récupérer les informations sur les métadonnées sur le fichier. Ces informations comprennent:

Créationdate: 2016-12-22T11: 43: 55-05: 00
Créateur: Adobe InDesign CC 2015 (Macintosh)
MODDATE: 2016-12-29T15: 47: 20-05: 00
Producteur: Adobe PDF Library 15.0
Pris au piège: faux
Pages 1

Extraire du texte

Pour extraire le texte de chaque page du PDF soumis, nous pouvons implémenter le code comme indiqué ci-dessous:

Inclure "Vendeur / Autoload.php ";
$ parser = new \ smalot \ pdfParser \ parser ();
$ pdf = $ parser-> parsefile ("Sample1.pdf ");
$ text = $ pdf-> getText ();
Echo $ text;
?>

Une fois que nous avons exécuté le code ci-dessus, nous devrions voir le texte extrait de l'échantillon1.fichier PDF. L'exemple ouput est comme indiqué ci-dessous:

Fermeture

Ce guide vous montre comment vous pouvez analyser les fichiers PDF à l'aide de PHP et de la bibliothèque PDFParser. Vérifiez la documentation pour en savoir plus.