Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1869 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] transformer un fichier PDF en TXT ou HTML(idéalement)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] transformer un fichier PDF en TXT ou HTML(idéalement)

n°1328927
stef_dober​mann
Personne n'est parfait ...
Posté le 20-03-2006 à 17:09:02  profilanswer
 

Bonjour,
 
je voudrais à partir de fichier PDF les transformer (de préférence à la voler) pour les faire afficher sur mon site en texte uniquement (dans un premier temps, juste pour avoir un appercu du contenu du fichier)
 
D'autre part, je cherche aussi à réccupérer les vignettes inclus des des fichiers PDF ou sinon pour les créer automatiquement, je sais que ce n'est pas facile :jap:
 
Je cherche à mettre dans mes fichiers d'administration un editeur html (simplier au max) pour insérer du code HTML dans mes pages, par exemple EDITOR-X, je crois qu'il s'appel comme ca, mais après téléchargement et et installation, cela ne fonstionne pas du tous, il me met des erreur javascript dans tout les sens :??:
 
d'avance, merci à vous  :jap:


Message édité par stef_dobermann le 20-03-2006 à 17:26:18

---------------
Tout à commencé par un rêve...
mood
Publicité
Posté le 20-03-2006 à 17:09:02  profilanswer
 

n°1329430
stef_dober​mann
Personne n'est parfait ...
Posté le 21-03-2006 à 13:14:12  profilanswer
 

je sais qu'il y a des personnes qui savent le faire ;)
 
juste une piste alors :jap:


Message édité par stef_dobermann le 21-03-2006 à 13:14:34

---------------
Tout à commencé par un rêve...
n°1329444
anapajari
s/travail/glanding on hfr/gs;
Posté le 21-03-2006 à 13:32:13  profilanswer
 

bin dans la doc tu as dans les commentaires une fonction pdf2string [:spamafote]

n°1329465
stef_dober​mann
Personne n'est parfait ...
Posté le 21-03-2006 à 14:04:42  profilanswer
 

dans la doc de PHP :??:
 
je file voir ca alors merci beaucoup


---------------
Tout à commencé par un rêve...
n°1329737
newneo2001
Posté le 21-03-2006 à 19:01:25  profilanswer
 

je sais que tu as une lib fpdf qui permet de convertir de l'HTML en pdf, je sais pas si ca fait l'inverse.  
 
http://www.fpdf.org/
 
Pour un editeur HTML j'utilise tinymce
 
++


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
n°1329753
nargy
Posté le 21-03-2006 à 19:50:53  profilanswer
 

il y a des utilitaires de convertion fournis avec xpdf:
pdffonts: extraction fonts
pdfimages: extraction images
pdfinfo: extraction infos
pdftoppm: conversion en image
pdftops: conversion en fichier imprimante
pdftotext: conversion en fichiers text/html
 
Ils ne produisent pas toujours de très bon résultats.
 
http://www.foolabs.com/xpdf/

n°1330368
stef_dober​mann
Personne n'est parfait ...
Posté le 22-03-2006 à 17:14:29  profilanswer
 

merci pour l'info,  sur [lien=http://fr.php.net/pdf]http://fr.php.net/pdf[/lien] j'ai trouve tous ce dont j'avais besoin.
 
Merci à vous tous  :jap:
 


---------------
Tout à commencé par un rêve...
n°1347386
stef_dober​mann
Personne n'est parfait ...
Posté le 15-04-2006 à 10:20:47  profilanswer
 

Bonjour,

 

Après quelque temps de recherche et de refléxion ;)  j'ai finalement opté pour la solution XPDF
qui fonctionne à merveille,

 

J'ai trouvé ça en PHP qui ne fonctionne pas très bien :

 
Code :
  1. $test = pdf2string("fichier-a-traiter.pdf" );
  2. echo $test;
  3. function pdf2string($sourcefile)
  4. {
  5.    $fp = fopen($sourcefile, 'rb');
  6.    $content = fread($fp, filesize($sourcefile));
  7.    fclose($fp);
  8.    # Locate all text hidden within the stream and endstream tags
  9.    $searchstart = 'stream';
  10.    $searchend = 'endstream';
  11.    $pdfdocument = "";
  12.    $pos = 0;
  13.    $pos2 = 0;
  14.    $startpos = 0;
  15.    # Iterate through each stream block
  16.    while( $pos !== false && $pos2 !== false )
  17.    {
  18.      # Grab beginning and end tag locations if they have not yet been parsed
  19.      $pos = strpos($content, $searchstart, $startpos);
  20.      $pos2 = strpos($content, $searchend, $startpos + 1);
  21.      if( $pos !== false && $pos2 !== false )
  22.      {
  23.          # Extract compressed text from between stream tags and uncompress
  24.          $textsection = substr($content, $pos + strlen($searchstart) + 2, $pos2 - $pos - strlen($searchstart) - 1);
  25.          $data = @gzuncompress($textsection);
  26.          # Clean up text via a special function
  27.          $data = ExtractText($data);
  28.          # Increase our PDF pointer past the section we just read
  29.          $startpos = $pos2 + strlen($searchend) - 1;
  30.          if( $data === false ) { return -1; }
  31.          $pdfdocument = $pdfdocument . $data;
  32.      }
  33.    }
  34.    return $pdfdocument;
  35. }
  36. function ExtractText($postScriptData)
  37. {
  38.    while( (($textStart = strpos($postScriptData, '(', $textStart)) && ($textEnd = strpos($postScriptData, ')', $textStart + 1)) && substr($postScriptData, $textEnd - 1) != '\\') )
  39.    {
  40.      $plainText .= substr($postScriptData, $textStart + 1, $textEnd - $textStart - 1);
  41.      if( substr($postScriptData, $textEnd + 1, 1) == ']' ) // This adds quite some additional spaces between the words
  42.      {
  43.          $plainText .= ' ';
  44.      }
  45.      $textStart = $textStart < $textEnd ? $textEnd : $textStart + 1;
  46.    }
  47.       // Translate special characters and put back brackets.
  48.    $trans = array(
  49.        '...'                => '&hellip;',
  50.        '\205'                => '&hellip;',
  51.        '\221'                => chr(145),
  52.        '\222'                => chr(146),
  53.        '\223'                => chr(147),
  54.        '\224'                => chr(148),
  55.        '\226'                => '-',
  56.        '\267'                => '&bull;',
  57.        '\222'                => "'",
  58.        '\351'                => '&eacute;',
  59.        '\350'                => '&egrave;',
  60.        '\347'                => '&ccedil;',
  61.        '\253'                => '&quot;',
  62.        '\273'                => '&quot;',     
  63.        '\('                => '(',
  64.        '\['                => '[',
  65.        '##ENDBRACKET##'    => ')',
  66.        '##ENDSBRACKET##'    => ']',
  67.        chr(133)            => '-',
  68.        chr(141)            => chr(147),
  69.        chr(142)            => chr(148),
  70.        chr(143)            => chr(145),
  71.        chr(144)            => chr(146),
  72.    );
  73.    $plainText = strtr($plainText, $trans);
  74.    return stripslashes($plainText);
  75. }
  76. ?>
 


Vola pour le retour sur information.


---------------
Tout à commencé par un rêve...
n°1598523
MacRicow
Posté le 11-08-2007 à 08:43:53  profilanswer
 

En effet ce script présente quelques défauts, notamment dans le cas de présence de parenthèses dans le texte.
 
Pour améliorer le script, on peut ajouter ce code entre la ligne 41 et 42 :

Code :
  1. $postScriptData=str_replace("\(","parentheseG",$postScriptData);
  2. $postScriptData=str_replace("\)","parentheseD",$postScriptData);

...et d'ajouter en ligne 81 :

Code :
  1. $plainText=str_replace("parentheseG","(",$plainText);
  2. $plainText=str_replace("parentheseD"," )",$plainText);


 
...et je trouve que ce script fonctionne plutôt pas mal... On peut ajouter également les lettres accentuées de la langue de Molière dans le tableau $trans, et ça roule...

n°1770676
mazou
Posté le 07-08-2008 à 13:52:34  profilanswer
 

Bonjour,
 
Je déterre ce post car je suis également à la recherche d'une fonction de ce genre.
 
Je viens de tester celle-ci, mais le résultat est très moyen.
En effet, des tas de caractères spéciaux s'affichent parfois entre les paragraphes.
Je pense que c les images du pdf.
 
Comment avez-vous procéder pour avoir une sortie en texte seulement ?
De plus est-il possible d'utiliser xpdf en php ?
 
Merci


Message édité par mazou le 07-08-2008 à 13:54:01

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] transformer un fichier PDF en TXT ou HTML(idéalement)

 

Sujets relatifs
Remplir un fichier Word type avec des valeurs PHPEcriture & effacement du contenu du fichier
Afficher un fichier portant un nom aléatoire ?Afficher le lecteur windows media dans une page html
[Flash/PHP][PHP/MySQL] [Corrigé] Les apostrophes !
uploader de la musique MP3 [PHP]Identifier un fichier de maniere unique
Probleme JavaScript + Php + Mysql 
Plus de sujets relatifs à : [PHP] transformer un fichier PDF en TXT ou HTML(idéalement)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR