#1 Le 23/03/2018, à 09: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, à 22:36)
loup maigre (et vieux ...)
Hors ligne
#2 Le 23/03/2018, à 22: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, à 22: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.
Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Réso|u] 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, à 22: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