Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/03/2018, à 10:59

RolandG

[Résolu][tout seul comme un grand ;)] 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 :

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 :

<?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é :

{
    "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.

le fichier pdf que je souhaite explorer 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

Dernière modification par RolandG (Le 23/03/2018, à 23:36)


loup maigre (et vieux ...)

Hors ligne

#2 Le 23/03/2018, à 23:32

RolandG

Re : [Résolu][tout seul comme un grand ;)] pdfparser refuse de fonctionner

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 ...

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


loup maigre (et vieux ...)

Hors ligne

#3 Le 23/03/2018, à 23:37

xubu1957

Re : [Résolu][tout seul comme un grand ;)] pdfparser refuse de fonctionner

Bonjour,

Merci pour avoir donné une solution.

Peux tu rajouter [Résolu] dans le titre de ta discussion.

Merci. wink


Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Résolu] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.                   Membre de Linux-Azur

Hors ligne

#4 Le 23/03/2018, à 23:37

RolandG

Re : [Résolu][tout seul comme un grand ;)] pdfparser refuse de fonctionner

Je vais y arriver, si,si! Je vais y arriver ...


loup maigre (et vieux ...)

Hors ligne