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

  FORUM HardWare.fr
  Programmation
  Python

  Lire un fichier PDF

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lire un fichier PDF

n°2467414
Laska-
Posté le 07-04-2024 à 01:49:48  profilanswer
 

Bonsoir,
 
J'ai l'impression de buter sur un problème très bête...
Je souhaite à faire un soft pour lire automatiquement des fichiers PDF (et ensuite les renommer et les ranger dans des dossiers créés automatiquement).
 
Pour mon problème de lecture de PDF, quelle serait la bibliothèque la mieux adaptée ?
J'ai bien galéré à installer un environnement qui me permettait d'installer et tester des bibliothèques, mais j'ai finalement réussi à faire marcher la base avec powershell (pour pip install [librairie]) et visual studio code.  
Malheureusement la librairie qui m'a été conseillée par une page internet visiblement obsolète, pypdf2, n'a pas sorti de résultat satisfaisant. Résultat ci dessous.
 
Merci  :jap:
 
♦♣♠♠    ♠
♣♫☼► ♦♣♠
♀♫♠
◄↕‼‼↕¶♂§♂▬↨☼
♀♀


Message édité par Laska- le 07-04-2024 à 03:15:54
mood
Publicité
Posté le 07-04-2024 à 01:49:48  profilanswer
 

n°2467446
rat de com​bat
attention rongeur méchant!
Posté le 08-04-2024 à 00:57:12  profilanswer
 

Je ne pourrais pas te répondre ne faisant pas de Python, mais ton charabia la me fait penser que tu essayes de lire un pdf comme un fichier texte. Ca ne risque pas de fonctionner. :o Soit la lib' est HS, soit tu l'utilises mal, donc montre un bout de code.


---------------
Si vous ouvrez un sujet merci de ne pas le "laisser mourir" subitement et de le marquer comme "résolu" le cas échéant!
n°2467464
Aricoh
gentil mais fo po pousser
Posté le 08-04-2024 à 10:51:47  profilanswer
 

Je te conseille d'aller voir la librairie PyMuPDF plutôt que PyPDF2.
 

import fitz # imports the pymupdf library
doc = fitz.open("example.pdf" ) # open a document
for page in doc: # iterate the document pages
  text = page.get_text() # get plain text encoded as UTF-8


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
n°2467518
Laska-
Posté le 08-04-2024 à 17:24:01  profilanswer
 

J'essaierai celle-ci, merci !
 
De manière générale j'ai perdu beaucoup de temps avec les problèmes d'IDE. Je connais spyder mais c'est très difficile d'importer des modules dedans s'ils ne sont pas prévus à la base (et j'ai même lu un post d'un gars de l'équipe spyder qui dit que c'est volontaire de leur part)
 
Quel est le meilleur environnement pour développer en python, pour ceux qui ne se contentent pas des librairies de base contenues dans spyder ?
 
Le fichier PDF que j'ai devrait être lisible avec une bibliothèque PDF valable.
J'ai même trouvé des gens qui utilisent VBA pour envoyer un ctrl A puis ctrl C dans adobe, avant de venir dans excel faire le coller, ça "fonctionne" mais le résultat est le même que ci dessous, des symboles illisibles. Pourtant c'est bien un copier/coller et il fonctionne quand on le fait manuellement.

Message cité 1 fois
Message édité par Laska- le 08-04-2024 à 17:28:52
n°2467532
Aricoh
gentil mais fo po pousser
Posté le 09-04-2024 à 08:24:30  profilanswer
 

Laska- a écrit :

Quel est le meilleur environnement pour développer en python, pour ceux qui ne se contentent pas des librairies de base contenues dans spyder ?


 
J'utilise Python dans un environnement professionnel et dans notre pôle, nous utilisons Visual Studio Code de Microsoft. On lui ajoute quelques plugins spécial Python et aucune librairie additionnelle n'est ajoutée à Python.
 
Dès qu'on attaque un nouveau programme, on déploie un environnement virtuel et c'est dans cet environnement que l'on installe les librairies nécessaires ne faisant pas partie de la distribution standard de Python.
 

Laska- a écrit :

Le fichier PDF que j'ai devrait être lisible avec une bibliothèque PDF valable.


 
Et bien, essaie PyMuPDF alors  :) Comme montré dans mon exemple, 4 lignes de codes suffisent.


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
n°2468972
Hermes le ​Messager
Breton Quiétiste
Posté le 28-04-2024 à 10:48:29  profilanswer
 

Je réponds un peu tard, mais pour lire des PDF, c'est pas aussi simple qu'utiliser une bibliothèque.  
 
Certains PDF sont composés de textes (exemple type : un PDF généré avec Word)
D'autres sont composés de textes et d'images.
Et enfin d'autres sont parfois même une seule image contenant des textes pixélisés (donc aucune information de texte dans le PDF).
 
L'approche que nous utilisons, c'est une préanalyse du PDF pour voir si celui-ci contient plus d'un certain nombre de mots, auquel cas, une librairie d'extraction de texte du PDF suffit. Dans le cas contraire, la meilleure approche reste l'OCR. On peut par exemple utiliser Tesseract qui est opensource ou l'un de ses dérivés.
 
Une approche un peu extrême quand on a plein de PDF dont il est difficile de savoir s'ils sont composés de textes et/ou d'image, c'est d'aplatir le PDF pour le transformer en une seule image, et passer l"OCR ensuite dessus.


---------------
Expert en expertises
n°2468996
Laska-
Posté le 28-04-2024 à 18:34:29  profilanswer
 

Dans mon cas je suis certain que tous les PDF seront de même type, voire carrément identiques (mis à part les données de certains champs, c'est le même formulaire quoi).
J'ai mis la chose en standby pendant quelques temps mais je m'y réattaquerai bientôt :)


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

  Lire un fichier PDF

 

Sujets relatifs
batch lecture fichier temps réelBase HFSQL fichier .mmo
conversion fichier pdf en jsonfonction illisible dans un fichier annexe
Extraction de données d'un PDFOuvrir un fichier en local au lieu de le télécharger ?
Création fichier gestion tournoi format suisse[Powershell] [RESOLU] Lire caractères à partir du 17eme d'une chaine
Lire un fichier PDFLire, ecrire et imprimer un fichier pdf
Plus de sujets relatifs à : Lire un fichier PDF


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