Changeset 110744 in spip-zone
- Timestamp:
- Jun 18, 2018, 4:14:04 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/extraire_documents/trunk/extraire/fallback/application_pdf/90_pdfparser.php
r110743 r110744 4 4 * Tester si cette méthode d'extraction est disponible 5 5 **/ 6 function extraire_fallback_application_pdf_90_pdfparser_test_dist() 6 function extraire_fallback_application_pdf_90_pdfparser_test_dist(){ 7 7 if ( 8 8 find_in_path('lib/TCPDF-6.2.17') 9 9 and find_in_path('lib/pdfparser-0.12.0/src') 10 ) 10 ){ 11 11 return true; 12 } 13 else { 12 } else { 14 13 return false; 15 14 } … … 23 22 * @return Scontenu le contenu brut 24 23 **/ 25 function extraire_fallback_application_pdf_90_pdfparser_extraire_dist($fichier) 26 27 24 function extraire_fallback_application_pdf_90_pdfparser_extraire_dist($fichier){ 25 $infos = array('contenu' => false); 26 $contenu = ''; 28 27 29 30 if (!class_exists('Composer\\Autoload\\ClassLoader')){28 // Bespoin de charger composer 29 if (!class_exists('Composer\\Autoload\\ClassLoader')){ 31 30 include_spip('lib/Composer/Autoload/ClassLoader'); 32 31 } 33 32 include_spip('lib/TCPDF-6.2.17/tcpdf_parser'); 34 33 35 34 $loader = new \Composer\Autoload\ClassLoader(); 36 35 37 38 39 36 // register classes with namespaces 37 $loader->add('Smalot\PdfParser', find_in_path('lib/pdfparser-0.12.0/src')); 38 $loader->register(); 40 39 41 $parser = new \Smalot\PdfParser\Parser(); 42 //Tenter de lire le pdf 43 try { 44 set_time_limit (0); 45 $pdf = $parser->parseFile($fichier); 46 } 47 catch (Exception $e) { 48 //Pour toute exception on s'arrete et on retourne un contenu vide 49 //Les cas de figure sont entre autre les fichiers mal formés ou signés 50 return ''; 51 } 40 $parser = new \Smalot\PdfParser\Parser(); 41 //Tenter de lire le pdf 42 try { 43 set_time_limit(0); 44 $pdf = $parser->parseFile($fichier); 45 } catch (Exception $e) { 46 //Pour toute exception on s'arrete et on retourne un contenu vide 47 //Les cas de figure sont entre autre les fichiers mal formés ou signés 48 return ''; 49 } 52 50 53 // Parcourir les pages et extraire le contenu textuel 54 try { 55 foreach ($pdf->getPages() as $page) { 56 $contenu .= $page->getText(); 57 } 58 } 59 catch (Exception $e) { 60 //si on ne peut extraire le texte on passe à la page suivante 61 $contenu .= ''; 62 } 51 // Parcourir les pages et extraire le contenu textuel 52 try { 53 foreach ($pdf->getPages() as $page){ 54 $contenu .= $page->getText(); 55 } 56 } catch (Exception $e) { 57 //si on ne peut extraire le texte on passe à la page suivante 58 $contenu .= ''; 59 } 63 60 64 65 66 67 61 //Libérer les ressources 62 unset($parser); 63 unset($loader); 64 68 65 // Si on a trouvé du texte 69 if ($contenu) 66 if ($contenu){ 70 67 $infos['contenu'] = $contenu; 71 68 } 72 73 69 70 return $infos; 74 71 }
Note: See TracChangeset
for help on using the changeset viewer.