Je souhaite utiliser le programme externe pdftotext.exe depuis mon
appli php pour lire le contenu d'un fichier pdf de facon automatique et
ensuite l'indexer dans une BD Mysql.
Je travaille sous Windows avec EasyPhp 1.7.
J'ai utilisé successivement les fonction exec, passthru et system sans
grand succes : le systeme mouline sans résultat à l'écran.
Voici le script d'essai :
<?php
$fic_ini="fichier_test.pdf";
$fic_fin="toto.txt";
echo "Essai de transformation de pdf en txt <br>";
echo "<br><br>";
echo "Fichier initial : $fic_ini<br>";
$cmd="c:\windows\pdftotext.exe $fic_ini $fic_fin";
exec($cmd);
echo "Résultat : $toto <br>";
?>
Le fichier fichier_test.pdf est dans le même répertoire que le script
php. j'ai un peu tout essayé pour l'emplacement du programme pdftotext.
Est-ce que qq peu m'eclairer sur l'utilisation des commandes externes
(prob. de configuration de apache ou php, chemin d'accès, ....) ?
Je vois pas trop comment ca marche (et j'ai bien lu le manuel php mais
c'est très succint sur le sujet).
Enfin, merci pour votre aide.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jedi121
"christophe" a écrit le 28/10/2003 :
<?php $fic_ini="fichier_test.pdf"; $fic_fin="toto.txt"; echo "Essai de transformation de pdf en txt <br>"; echo "<br><br>"; echo "Fichier initial : $fic_ini<br>"; $cmd="c:windowspdftotext.exe $fic_ini $fic_fin"; exec($cmd); echo "Résultat : $toto <br>"; ?>
Ce qui est sûr c'est que ta ligne echo "Résultat : $toto <br>"; ne retournera rien puisque la variable $toto n'existe pas. Tu veux plutôt utiliser une fonction de lecture de fichier texte sur le fichier toto.txt... Mais attention, l'exécution avec exec() est asynchrone, on n'attend pas la fin d'exécution de la commande pour passer à la ligne suivante PHP, on le fait tout de suite.
Voir la doc sur file_get_contents() entre autres.
"christophe" a écrit le 28/10/2003 :
<?php
$fic_ini="fichier_test.pdf";
$fic_fin="toto.txt";
echo "Essai de transformation de pdf en txt <br>";
echo "<br><br>";
echo "Fichier initial : $fic_ini<br>";
$cmd="c:windowspdftotext.exe $fic_ini $fic_fin";
exec($cmd);
echo "Résultat : $toto <br>";
?>
Ce qui est sûr c'est que ta ligne echo "Résultat : $toto <br>"; ne
retournera rien puisque la variable $toto n'existe pas.
Tu veux plutôt utiliser une fonction de lecture de fichier texte sur le
fichier toto.txt...
Mais attention, l'exécution avec exec() est asynchrone, on n'attend pas
la fin d'exécution de la commande pour passer à la ligne suivante PHP,
on le fait tout de suite.
<?php $fic_ini="fichier_test.pdf"; $fic_fin="toto.txt"; echo "Essai de transformation de pdf en txt <br>"; echo "<br><br>"; echo "Fichier initial : $fic_ini<br>"; $cmd="c:windowspdftotext.exe $fic_ini $fic_fin"; exec($cmd); echo "Résultat : $toto <br>"; ?>
Ce qui est sûr c'est que ta ligne echo "Résultat : $toto <br>"; ne retournera rien puisque la variable $toto n'existe pas. Tu veux plutôt utiliser une fonction de lecture de fichier texte sur le fichier toto.txt... Mais attention, l'exécution avec exec() est asynchrone, on n'attend pas la fin d'exécution de la commande pour passer à la ligne suivante PHP, on le fait tout de suite.