2016-03-14 1 views
4

J'ai écrit du code python qui racle toutes les données du fichier PDF. Le problème ici est qu'une fois qu'il est gratté, les mots perdent leur grammaire. Comment réparer ces problèmes? Je joins le code.Je veux gratter un fichier pdf Hindi (Indian Langage) avec python

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter 
from pdfminer.converter import TextConverter 
from pdfminer.layout import LAParams 
from pdfminer.pdfpage import PDFPage 
from cStringIO import StringIO 
def convert_pdf_to_txt(path): 
    rsrcmgr = PDFResourceManager() 
    retstr = StringIO() 
    codec = 'utf-8' 
    laparams = LAParams() 
    device = TextConverter(rsrcmgr, retstr, codec=codec,laparams=laparams) 
    with open(path, 'rb') as fp: 
     interpreter = PDFPageInterpreter(rsrcmgr, device) 
     password = "" 
     caching = True 
     pagenos = set() 

     for page in PDFPage.get_pages(fp, pagenos, password=password,caching=caching, check_extractable=True): 
      interpreter.process_page(page) 
     text = retstr.getvalue() 
    device.close() 
    retstr.close() 
    return text 
print convert_pdf_to_txt("S24A276P001.pdf") 

et voici la capture d'écran de PDF. PDF SCREEN SHOT

+0

Si vous copiez du texte à partir de la visionneuse PDF, vous pouvez voir correctement le texte correct? – YOU

+0

Aucun texte n'est pas correct après que je copie le coller –

+0

parfois le texte n'est pas stocké comme est dans certains fichiers pdf dans une langue que j'ai vu auparavant, cela signifie que vous devez écrire un décodeur personnalisé pour cela. sans la connaissance de la langue, pas grand chose que je puisse faire ici. – YOU

Répondre

4

La meilleure façon de résoudre le problème est d'utiliser le module textract de python et charger des données de test à partir de son dépôt hindis github et écrire le texte extrait dans un fichier txt. Cela a résolu mon problème.

+0

Pouvez-vous s'il vous plaît élaborer la solution avec un exemple simple nous aiderait? Merci –