IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[PDF] PDFtotext et path vers exe et fichier PDF


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut [PDF] PDFtotext et path vers exe et fichier PDF
    bon j'ai downloadé pdftotext.exe, collet collé tous les fichiers dasn le même rep
    voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $pdftotextpath= "PDFTT/pdftotext.exe";
    $fic_ini="kaspersky.pdf";
    $fic_fin="toto.txt";
    echo "Essai de transformation de pdf en txt <br>";
    echo "<br><br>";
    echo "Fichier initial : $fic_ini<br>";
    $cmd="$pdftotextpath $fic_ini $fic_fin";
    $texte=exec($cmd);
    ?>
    et ho magie ... rien
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    a noter que j'arrive à genrer un fichier texte en run cmd avec la ligne de commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pdftotext -layout kaspersky.pdf
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    Bon a priori j'arrive à lancer le pdftotext avec un exec si tous les fochoers sont dans le même repertoire, il doit s'agir d'un souci d'echapement de caractères dans le path ... je verrais ça plus tard.

    Mon souci est que maintenant il me génère un fichier texte, j'aurais voule recupérer le résultat dans une variable...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut
    Ah, toi aussi tu te réponds tout seul ma grenouille?...

    J'espère que tu vas bien



    P.S.: désolée d'avoir pollué ton post

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    ho ma xavounnette ! ça fait plaisir d'avoir de tes nouvelles ^^

    Oui je me reponds à moi même vu que personne d'autre en prend la peine de le faire ...
    Sauf que je me reponds n'importe quoi parce que cette histoire de path doit être resolue rapidement ...
    Tu vois ça va toujours aussi bien
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut


    Oui ben oui je vois que ça va toujours aussi bien...

    Moi non plus personne n'a voulu me répondre alors je me suis répondu à moi même aussi et là je vais aller fermer le post puisque de toute façon j'ai résolu le problème...

    Dis-moi t'aurai pas un bon anti-rouille dans le coin? Vraiment j'en ai besoin!

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    Bon hormis le fait que je n'arrive toujours pas a faire tourner le bouzin quand tous les fichiers ne sont pas dans le même répertoire, j'arrive à générer un fichier texte puis à en récupérer le contenu ...
    Est il possible de lse passer de l'étape fichier texte et recupérer directement dans une variable php le contenu texte ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    En progrès:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       $file = "../kaspersky.pdf";
        $outpath = preg_replace("/\.pdf$/", ".txt", $file);
        $execpath="xpdf\pdftotext";
        system($execpath." -enc UTF-8 ".escapeshellcmd($file), $ret);

    il semblerait que les deux paths soient en relatif par rapport au fichier php ?

    Maintenant mon problème rédise dans le fait que je suis avec mon fichier php dans un alias et que je souhaite acceder au pdftotext.exe à la racine du serveur et au fichier pdf sur un lecteru réseau
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Salut SF !

    Il faut probablement un chemin absolu, et non un chemin web :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $folder = realpath(__FILE__.'/.');
    $filepath = $folder.'/kaspersky.pdf';
    $outpath = $folder.'/kaspersky.txt';
    $execpath="xpdf\pdftotext";
     
    system($execpath.' -enc UTF-8 '.escapeshellcmd($filepath), $ret);
    À tester, je suis sûr de rien

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    Bon encore un pas vers le bonheur ...

    en fait il faut chnager de lecteur reseau avec le commande système

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    system('cd C:\path\');
              system('xpdf\pdftotext -'. $params. ' '.$pdffile);
    J'arrive désormais à délocaliser l'exe ...
    reste à trouver comment fonctionne le path du fichier pdf pour aller lire les lecteurs reseau
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    Bon maintenant je butte sur les fichiers qui comportent des caractères spéciaux dans le path ...
    Sachant que je suis en utf8 integral et que je fais un appel avec system
    quel est le charset reconnu par la commande system de sorte que les caractères speciaux soit reconnus .. ???
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    bon alors voici la solution :

    la commande système est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      system('xpdf\pdftotext -'. $options. ' '.$pdffile.' '.$textfile);
    le souci se pose quand d'une part le nom de fichier pdf comporte des espaces, du coup la commande ne retrouve plus ses petits entre les options et le nome de fichier.
    Il suffit d'encapsuler les noms de fichiers avec des quotes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system('xpdf\pdftotext -'. $options. ' "'.$pdffile.'" "'.$textfile.'"');
    voilà pour le premier souci.

    Ensuite etant en ut8 intégral il ne reconnaissait pas mon text file en sortie
    j'ai du simplifier les nom de mes fichiers textes en sortie poru eviter les caractères accentués (limiter a a-z et 0-9).

    j'obtiens d'excellents résultats au niveau des sorties texte que je peux donc inserer dans une table mysql dans un champ fulltext permettant ainsi la recherche de documents d'après leur contenu
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    J suis obligé de remettre ce post au gout du jour parce que j'ai le même problème.

    Bonjour,

    J'utilise xpdf et en particuler pdftotext pour convertir mes pdt au format txt, seulement j'ai un gros problème, ma commande exec semble ne pas fonctionner, alors qu'elle passe très bien en ligne de commande.
    Je précise que le pdf se trouve au même endroit que mon exécutable.

    exec('cd E:\trunk\Sources\public\cvtheque\\');

    exec('pdftotext monPdf.pdf');

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $pdf_filename = "celia.pdf";
            $textfile="celia.txt";
            $options="layout";
    	  system('cd E:\PortableDrive\App\xampp\htdocs\pagesinterim.com\trunk\Sources\public\cvtheque\\');
            system('pdftotext -'. $options. ' '.$pdf_filename.' '.$textfile);
    Ce code ne donne rien non plus

    Merci d'avance pour votre aide.

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    Alors j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $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!

  15. #15
    Membre averti Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Points : 329
    Points
    329
    Par défaut
    Je remonte le post, pourquoi est-il en délestage ?!

    J'ai vraisemblablement les mêmes problèmes que vous, sauf que je ne peut pas fonctionner avec des chemins absolus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php 
     
    $commande= '"/../../pdftotext" "../../test.pdf"';
    system($commande,$retour);
     
     
    echo $retour;
    ?>
    Cette méthode marche bien. Le problème c'est qu'a l'instar de require_once, qui "fixe" si je puis dire l'inclusion par rapport au fichier php.
    La commande system est apparemment exécutée depuis le "premier appelant".

    Mon problème, j'ai une classe qui traite tous les fichiers, et notamment les pdf que j'upload. Seulement j'upload de différents endroits et donc le chemin relatif ne serait valable que pour une seule fois.

    La seule solution que j'ai trouvé serait de faire un chemin "absolu/relatif" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $commande= '"/mon_projet/exe/pdftotext" "/mon_projet/exe/test.pdf"';
    à l'aide du "/" ça résoudrait tout mes problèmes, mais ça ne marche pas


    Need assistance
    Memento Quia Pulvis Es, Et In Pulverem ReverteriS

  16. #16
    Membre averti Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Points : 329
    Points
    329
    Par défaut
    Bon je pense avoir résolu mon problème, je le poste ici au cas ou.


    dans un fichier config.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $config_pdftotext_absolut_path = realpath('../../ext_bin/pdftotext/');
    Que j'inclurai quand je voudrais me servir du .exe et comme ça j'ai pas a mettre de chemin absolu en dur !



    EDIT: ouai fausse alerte, je n'y accède pas depuis ma classe, donc la seule solution c'est de le passer à mon constructeur.. mais bon... c'est de la bricole.. Quelqu'un aurait une autre solution ?!
    Memento Quia Pulvis Es, Et In Pulverem ReverteriS

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Création d'un lien hypertexte vers un un fichier pdf venant d'être crée
    Par tvbfl dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/10/2017, 20h16
  2. Réponses: 9
    Dernier message: 22/11/2016, 18h43
  3. [XL-2010] Exporter automatiquement le contenu de plusieurs formulaires PDF vers un seul fichier .CSV
    Par TsunamiAttack dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/04/2016, 19h17
  4. pdftotext.exe: le fichier crée est vide
    Par fan70 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 29/09/2008, 17h32
  5. Excel : lien hypertexte vers un autre fichier avec nom page
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/11/2005, 10h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo