2017-12-31 28 views
-1

pdfには行の後にデータが区切られ、見出しとそれに対応する値が含まれている行の後に表がありますが、整然とした方法で取得できませんむしろ、私は完全な列のヘッダーをtext.Iとして取得して、行の後ろに現行の行とそれに対応する値を関連付けることができます。pdfから対応する列のデータを抽出する方法

fp = open(my_file, "rb") 
parser = PDFParser(fp) 
document = PDFDocument(parser) 
if not document.is_extractable: 
    raise PDFTextExtractionNotAllowed 

rsrcmgr = PDFResourceManager() 
laparams = LAParams() 
laparams.line_margin = 12 
device = PDFPageAggregator(rsrcmgr, laparams=laparams) 
interpreter = PDFPageInterpreter(rsrcmgr, device) 
for page in PDFPage.create_pages(document): 
    interpreter.process_page(page) 
    layout = device.get_result() 
    for lt_obj in layout: 
     if isinstance(lt_obj,LTTextBox): 
      extracted_text += lt_obj.get_text() 

print extracted_text 

答えて

1

PDFは(通常は完全にランダムではありませんが)特定の順序でレイアウトされていません。

ヘッダーを見つけて、テキストの場合はX、Yの位置から行の内容を推測する必要があります。

+0

どうすればいいですか?pdfminerのドキュメントは明確に定義されていません。 –

関連する問題