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

EDI, CMS, Outils, Scripts et API PHP Discussion :

pdfparser refuse de fonctionner


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    développeur web amateur
    Inscrit en
    Janvier 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : développeur web amateur
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2018
    Messages : 40
    Points : 35
    Points
    35
    Par défaut pdfparser refuse de fonctionner
    Bonjour,

    J'ai besoin d'extraire des données de fichiers pdf.

    Je souhaite utiliser l'outil "PDFParser" proposé sur le site https://www.pdfparser.org/

    Je rencontre un pb avec les exemples proposés sur le site.
    Quel que soit le test effectué, j'ai toujours une erreur à l'appel de la fonction getText().

    Le message reçu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Fatal error: Uncaught Error: Call to undefined function Smalot\PdfParser\mb_check_encoding() 
    in /home/roland/www-dev/vendor/smalot/pdfparser/src/Smalot/PdfParser/Font.php:371 
    Stack trace: 
    #0 /home/roland/www-dev/vendor/smalot/pdfparser/src/Smalot/PdfParser/PDFObject.php(332): Smalot\PdfParser\Font->decodeText(Array) 
    #1 /home/roland/www-dev/vendor/smalot/pdfparser/src/Smalot/PdfParser/Page.php(220): Smalot\PdfParser\PDFObject->getText(Object(Smalot\PdfParser\Page)) 
    #2 /home/roland/www-dev/test.php(18): Smalot\PdfParser\Page->getText() 
    #3 {main} thrown in /home/roland/www-dev/vendor/smalot/pdfparser/src/Smalot/PdfParser/Font.php on line 371
    Mon script de test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    ini_set('display_errors','stdout'); 
    error_reporting(E_ALL);
    require __DIR__ . '/vendor/autoload.php';
    $parser = new \Smalot\PdfParser\Parser();
    $pdf    = $parser->parseFile('monfichier.pdf');
    // Retrieve all pages from the pdf file.
    $pages  = $pdf->getPages();
    // Loop over each page to extract text.
    foreach ($pages as $page) {
      echo $page->getText();
    }
    Je suis sur un PC Ubuntu 17.10, lamp local dont PHP 7.1.15.

    Pour info, le composer.json associé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    {
        "repositories": [
            {
                "type": "composer",
                "url": "https://www.setasign.com/downloads/"
            }
        ],
        "require": {
            "smalot/pdfparser": "*",
            "setasign/fpdi-fpdf": "^2.0",
            "setasign/fpdi_pdf-parser": "2.0.3"
        }
    }
    Le résultat est le même si j'installe "smalot/pdfparser" en dernière ligne du require.
    Les autres scripts appelés sont nécessaires au reste du programme.

    Vous trouverez attaché le fichier pdf que je souhaite explorer.
    Ce fichier est parfaitement ouvert et lu par la page de démo du site : https://www.pdfparser.org/demo

    Auriez-vous une idée, une piste à m'indiquer ?

    Merci par avance de votre réponse et de votre attention.
    Roland
    Images attachées Images attachées

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Active l'extension mbstring dans ton php.ini
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    développeur web amateur
    Inscrit en
    Janvier 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : développeur web amateur
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2018
    Messages : 40
    Points : 35
    Points
    35
    Par défaut pdfparser
    Citation Envoyé par sabotage Voir le message
    Active l'extension mbstring dans ton php.ini
    Bonjour Sabotage,
    et merci de ton retour.

    J'ai décommenter "extension=php_mbstring.dll" dans /etc/php/7.1/apache2/php.ini

    Mais le résultat reste le même.

    Quel autre point pourrais-je chercher ?

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    avez-vous redémarré Apache ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    développeur web amateur
    Inscrit en
    Janvier 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : développeur web amateur
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2018
    Messages : 40
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par mathieu Voir le message
    avez-vous redémarré Apache ?
    Bonjour Mathieu,

    non, j'ai redémarré le pc entier

    Mais vous avez raison, j'aurai pu oublier ...

    Une idée sur la cause ?

  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    faites un script de test avec la commande phpinfo
    au début à la ligne "Loaded Configuration File" vous pouvez vérifier que c'est bien ce fichier php.ini qui est concerné.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    développeur web amateur
    Inscrit en
    Janvier 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : développeur web amateur
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2018
    Messages : 40
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par mathieu Voir le message
    faites un script de test avec la commande phpinfo
    au début à la ligne "Loaded Configuration File" vous pouvez vérifier que c'est bien ce fichier php.ini qui est concerné.
    et le php info répondit :
    Loaded Configuration File /etc/php/7.1/apache2/php.ini

    Donc, c'est bien le bon.

    Il n'y a que deux php.ini dans mon pc, un dans /etc/php/7.1/apache2, et l'autre dans /etc/php/7.1/cli.
    Le second, réservé à l'emploi de php en ligne de commande, ne peut être concerné.

    Quoi d'autre pourrais-je vérifier ?

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    développeur web amateur
    Inscrit en
    Janvier 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : développeur web amateur
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2018
    Messages : 40
    Points : 35
    Points
    35
    Par défaut
    J'ai trouvé :

    Autoriser l'extension mbstring.dll dans php.ini est une très bonne idée,

    Mais encore faut-il auparavant l'installer ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo apt-get install php-mbstring
    Là, ça marche tout de suite nettement mieux !

    Merci à tous pour votre indulgence et votre attention,

    et un doux we à tous.

    Roland

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

Discussions similaires

  1. [Batch] Boucle for imbriquee dans une boucle if qui refuse de fonctionner
    Par Egan69 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 27/06/2013, 19h30
  2. Requête refusant de fonctionner
    Par luffy48 dans le forum Requêtes
    Réponses: 2
    Dernier message: 03/05/2012, 13h29
  3. [CakePHP] Recursivité dans les modèles refuse de fonctionner
    Par RideKick dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 26/10/2009, 08h51
  4. [Apache2.2+Php5] Php5 refuse de fonctionner ..
    Par straitch dans le forum Apache
    Réponses: 15
    Dernier message: 25/08/2008, 17h34
  5. Requête DELETE qui refuse de fonctionner chez Free
    Par fafafa dans le forum Requêtes
    Réponses: 4
    Dernier message: 05/06/2006, 15h00

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