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 :
Mon script de test :
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
Je suis sur un PC Ubuntu 17.10, lamp local dont PHP 7.1.15.
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(); }
Pour info, le composer.json associé :
Le résultat est le même si j'installe "smalot/pdfparser" en dernière ligne du require.
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" } }
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
Partager