Bonjour, J'essaie en vain d'utiliser xpdf pour récupérer le

Hall
Invité n'ayant pas de compte PHPfrance

13 déc. 2010, 18:29

Bonjour,
J'essaie en vain d'utiliser xpdf pour récupérer les donnéesm de mes fichiers pdf pour les indexer mais ça ne fonctionne pas.
Je m'explique, je suis sous Vista pro et j'ai téléchargé la version win32 de xpdf (ftp://ftp.foolabs.com/pub/xpdf/

J'ai copié le fichier téléchargé dans mon répertoire librairie.

Maintenant dans un contrôleur, j'essaie de récupérer les données du fichier celia.pdf pour pouvoir les indexer

Code : Tout sélectionner

$indexPath = APPLICATION_PATH."cvtheque/docindex"; $index = Zend_Search_Lucene::open($indexPath); //Name of the pdf document with out the extension $pdf_filename = "E:/PortableDrive/App/xampp/htdocs/pagesinterim.com/trunk/Sources/public/cvtheque/celia"; // get pdf information $pdftotextpath= "E:/PortableDrive/App/xampp/htdocs/pagesinterim.com/trunk/Sources/library/xpdf/pdftotext.exe"; $output=$pdftotextpath."(".$pdf_filename.".pdf)"; //$output = exec("pdfinfo ".$pdf_filename.".pdf"); //Gets the metadata $data = explode("\n", $output); //puts it into an array print_r($data); exit; //Get the metadata that we need from the PDF. //Parse through the Array and store in variables. */ for($c=0; $c < count($data); $c++) { //Number of Pages if(stristr($data[$c],"pages") == true) { $pagestr = $data[$c]; echo $pagestr; } //Author if(stristr($data[$c],"author") == true) { $authorstr = $data[$c]; echo $authorstr; } //Title if(stristr($data[$c],"title") == true) { $titlestr = $data[$c]; } //Modification Date if(stristr($data[$c],"ModDate") == true) { $moddatestr = $data[$c]; } //File Size if(stristr($data[$c],"File size") == true) { $sizestr = $data[$c]; } }
Mais l'exec pdfinfo ne fonctionne pas.
Est-ce que vous voyez d'où vient l'erreur.

PS: J'utilise le code mis à disposition sur ce site

Merci d'avance pour votre aide!

Eléphant du PHP | 209 Messages

14 déc. 2010, 07:44

Heuh, la ligne de l'exec est en commentaire ?
--
Eric

Hall
Invité n'ayant pas de compte PHPfrance

14 déc. 2010, 09:33

Oui mais elle ne fonctionne quand même pas.

Utilisatrice de Zend Framework, je ne sais pas ou je doit copier le répertoire xpdf. Avez-vous une idée?

Eléphant du PHP | 209 Messages

14 déc. 2010, 09:53

Mais qu'est ce qui ne fonctionne pas ? Il y a un message d'erreur ? Avez-vous essayer d'afficher la sortie ?
--
Eric

Hall
Invité n'ayant pas de compte PHPfrance

14 déc. 2010, 10:29

oui justement, le print_r($data); me renvoie rien alors que le document existe bien et contient des informations.
Avez-vous déjà utiliser xpdf?

Hall
Invité n'ayant pas de compte PHPfrance

14 déc. 2010, 12:32

Quand je fais:

Code : Tout sélectionner

echo exec('whoami');
Ca fonctionne bien, par contre quand je fais un:

Code : Tout sélectionner

echo exec('E:\trunk\Sources\public\cvtheque\pdfinfo '.$pdf_filename.".pdf");
Aucun résultat alors qu'en ligne de commande ça passe bien.

Merci d'avance pour votre aide.

ViPHP
ViPHP | 5462 Messages

14 déc. 2010, 12:40

si tu fait shell_exec a la place de exec ?

Hall
Invité n'ayant pas de compte PHPfrance

14 déc. 2010, 16:15

Alors j'ai fait:

Code : Tout sélectionner

$pdf_filename = "E:/trunk/Sources/public/cvtheque/julien.pdf"; $outpath = preg_replace("/\.pdf$/", ".txt", $pdf_filename); $execpath="E:\trunk\Sources\public\cvtheque\pdftotext"; system($execpath." -enc UTF-8 ".escapeshellcmd($pdf_filename), $ret); $output = shell_exec('E:\trunk\Sources\public\cvtheque\pdfinfo '.$pdf_filename); //Gets the metadata $data = explode("\n", $output); //puts it into an array //Get the metadata that we need from the PDF. //Parse through the Array and store in variables. */ print_r($data);
et là ça marche...j'espère que ça pourra en aider d'autres!

Encore merci pour votre aide!