OVH Cloud OVH Cloud

Lire le contenu d'un PDF avec PHP

7 réponses
Avatar
MARTIN Samuel
Bonjour,
Après de nombreuses recherches et des essais infructueux je vous demande
donc votre aide.

J'aimerais savoir si il est possible de lire le contenu d'un fichier .pdf.

Pour un .doc je procède ainsi :

$fp = fopen("lire.doc","r");
$fichier=fread($fp, filesize ("lire.doc"));

oui bien

$fichier2 = join('', file("lire.doc"));


Parcontre pour un fichier .pdf je n'arrive pas à afficher le contenu, y
a t'il une solution ?

Je veux pouvoir lire le contenu du fichier pour savoir si un mot clé
bien défini est contenu dans ce fichier en question.

Merci d'avance pour votre aide.

MARTIN Samuel

7 réponses

Avatar
Olivier Miakinen

J'aimerais savoir si il est possible de lire le contenu d'un fichier .pdf.


J'ai trouvé deux ensembles de fonctions permettant de créer un fichier
PDF, mais apparemment ils ne permettent pas de le lire :
http://fr3.php.net/manual/fr/ref.pdf.php
http://fr3.php.net/manual/fr/ref.cpdf.php

Si quelqu'un a une idée...

Avatar
John Gallet
Bonjour,

J'aimerais savoir si il est possible de lire le contenu d'un fichier .pdf.
Oui.



Si quelqu'un a une idée...


Lire le chapitre 14 de la FAQ (que j'ai ajouté le WE dernier). Les
questions sur les bibliothèques existantes concernant le PDF pourront
donc désormais être refusées.

JG


Avatar
MARTIN Samuel
Après de très nombreuses recherche je me suis rendu compte qu'il était
impossible de lire un PDF uniquement avec un script PHP

En natif Linux possède la fonction pdf2txt qui pourrait résoudre mon
problème, seulement le serveur doit être sous Unix donc avec EasyPhp
vous l'aurez compris c'est impossible.


La fonction "string system ( string command [, int &return_var] )"
permet de sous-traiter la conversion pdf vers texte qui permet alors la
recherche d'une occurence.

http://fr.php.net/manual/fr/function.system.php


MARTIN.S
Avatar
Spot
MARTIN Samuel disait le 16/06/2005 10:27:
Après de très nombreuses recherche je me suis rendu compte qu'il était
impossible de lire un PDF uniquement avec un script PHP

Salut,

moi j'utilise une autre solution, je parse le pdf avec une class java
qui me retourne le contenu dans une chaine.
Ensuite tu fait ce que tu veux avec ta chaine...
Bon c'est un tout petit peu usine a gaz , et faut avoir envie d'utiliser
java, mais si ca ne te fait pas peur, tu peut utiliser :
http://php-java-bridge.sourceforge.net/ pour etablir un pont entre php
et java et ensuite les objets communiquent entre eux. pour la class java
utilisée ya pdfbox http://www.pdfbox.org/ qui marche trés bien. Le tout
doit fonctionner correctement sous win et sous linux .

voila hope it help

Xavier

Avatar
Yttrium
"John Gallet" a écrit dans le message de news:


Lire le chapitre 14 de la FAQ (que j'ai ajouté le WE dernier). Les
questions sur les bibliothèques existantes concernant le PDF pourront
donc désormais être refusées.



Bonjour,

Il deviendrait alors judicieux de reposter régulièrement un message avec
l'URL de la FAQ...

Salutations.

Avatar
MARTIN Samuel
Bonjour,

Finalement il a été possible d'installer la fonction pdftotext(xpdf) sur
le serveur, l'admin réseau a réussi à utiliser la fonction via une
connexion SSH au serveur.

J'ai utiliser cela :
passthru("/www/bin/pdftotext /www/lire_en_classe.pdf", $out);
print_r ($out);

J'obtiens 126 en sortie et aucune conversion de fichier constatée.

l'arbo est la suivante (cas simple pr les tests) :

/www/bin/pdftotext
/www/lecture_en_classe.pdf

Pouvez vous m'aider afin de résoudre ce problème (j'aurais bientot a
faire pareil pr la fonction catdoc qui n'est pas encore installer).

J'ai remarqué que finalement c'est fonction permet de créer un autre
fichier .txt, n'y a t'il pas de solution pour uniquement récupérer la
chaine de caractère générer ds une variable sans créer de .txt et donc
ne pas être obligé de supprimer tout apres.

Merci d'avance
Avatar
__marc.quinton__
MARTIN Samuel wrote:

J'ai remarqué que finalement c'est fonction permet de créer un autre
fichier .txt, n'y a t'il pas de solution pour uniquement récupérer la
chaine de caractère générer ds une variable sans créer de .txt et donc
ne pas être obligé de supprimer tout apres.


sous unix, quand le fichier est nommé '-', cela signifie la sortie
standard, et cela fonctionne avec pdftotext.

donc qq chose comme ca devrait convenir :

$txt = `/www/bin/pdftotext /www/lire_en_classe.pdf -`;