1 pièce(s) jointe(s)
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:
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:
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:
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