mercredi, 03 juin 2020 19:49

Extraire des méta données de fichiers PDF

Écrit par
Évaluer cet élément
(0 Votes)

A des fins professionnelles, j'ai dû me pencher sur la gestion de méta données de fichiers, afin d'alimenter une GED. En effet, lorsque vous regardez et que vous devez gérer des fichiers dans une Gestion de Documents Electroniques, il n'est pas possible de passer à côté des données méta. Ces données différent selon le type du document.

Je vais devoir gérer plusieurs types de fichiers, notament ceux de la suite Office, mais aussi énormémernt de PDF, c'est la raison pour laquelle j'ai commencé par ce type de fichier.

L'exemple ci-desssous est traité avec le langage PHP, je compte sur vos compétences pour adapter le code à vos propres langages de programmation. Le principe est simple et renvoient à des compétences directement acquises en BTS par notre professeur adoré de développement : lire un fichier Binaire en mode texte ! Oui oui !!

En effet, le ficheirt PDF, est certes binaire, mais peut être traité en mode texte. Et en éditant votre fichier de la sorte, vous allez découvrir que ces méta-données apparaissent entre balises. C'est la raison pour laquelle j'utilise des expressions régulières pour en extraire les données nous interessant.

Il faut noter que pour extraire les données, il faut "détecter" le type de l'encodage de la chaine. Dans mon fichier PDF que j'ai utilisé a des fins de tests, j'ai remarqué que l'ensemble des balises "méta" du fichier ne sont pas toutes encodées dans le même format. Il faut donc prendre ce paramètre en considération, peut être est-ce dû a mon fichier de tests ? Le doute subsiste !

Voici le code que je vais commenter :

Array
(
)
Array
(
    [0] => 
)
- (ASCII)

Comme vous pouvez le voir, in lit en mode "texte" avec la commande file_get_contenst le PDF, puis, à l'aide d'expressiosn régulières, nous recherchons les balises souhaitées (ici Title). Dans mon exemple, je retour s'effectuant dans un tableau, je n'ai fait qu'un print_r, mais libre à vous de récupérer les données afin de les présenter comme bon vous semble.

Lu 4075 fois