복붙노트

[PYTHON] 파이썬을 사용하여 PDF에서 텍스트로 표를 추출하는 방법은 무엇입니까?

PYTHON

파이썬을 사용하여 PDF에서 텍스트로 표를 추출하는 방법은 무엇입니까?

테이블, 텍스트 및 일부 이미지가 포함 된 PDF가 있습니다. PDF에 테이블이있는 모든 테이블을 추출하고 싶습니다.

지금은 페이지에서 표를 찾기 위해 수동으로 수행 중입니다. 거기에서 그 페이지를 캡처하고 다른 PDF로 저장합니다.

import PyPDF2

PDFfilename = "Sammamish.pdf" #filename of your PDF/directory where your PDF is stored

pfr = PyPDF2.PdfFileReader(open(PDFfilename, "rb")) #PdfFileReader object

pg4 = pfr.getPage(126) #extract pg 127

writer = PyPDF2.PdfFileWriter() #create PdfFileWriter object
#add pages
writer.addPage(pg4)

NewPDFfilename = "allTables.pdf" #filename of your PDF/directory where you want your new PDF to be
with open(NewPDFfilename, "wb") as outputStream:
    writer.write(outputStream) #write pages to new PDF

내 목표는 전체 PDF 문서에서 테이블을 추출하는 것입니다.

해결법

  1. ==============================

    1.제 생각에는 네 가지 가능성이 있습니다 :

    제 생각에는 네 가지 가능성이 있습니다 :

    귀하의 질문은 다음과 비슷합니다.

    문안 인사

  2. ==============================

    2.당신의 추가 연구를위한 키워드로서 : 또한 구역 OCR을 사용할 수있는 옵션이 있습니다. 나는 이것을 프로젝트에서 좋은 성공과 함께 사용했다. 그러나이 방법은 대용량 / 고속에 적합하지 않으며 필요한 각 필드에 대해 추출 템플릿을 정의해야합니다.

    당신의 추가 연구를위한 키워드로서 : 또한 구역 OCR을 사용할 수있는 옵션이 있습니다. 나는 이것을 프로젝트에서 좋은 성공과 함께 사용했다. 그러나이 방법은 대용량 / 고속에 적합하지 않으며 필요한 각 필드에 대해 추출 템플릿을 정의해야합니다.

    더하기 측면에서, 시각적으로 작동하기 때문에, 그것은 모든 종류의 테이블 (텍스트, 이미지, 스캔)과 함께 작동합니다.

  3. ==============================

    3.나는 tabula을 사용하여 테이블을 추출 할 것을 제안합니다. pdf를 tabula API의 인수로 전달하면 테이블이 dataframe 형식으로 반환됩니다. pdf의 각 테이블은 하나의 데이터 프레임으로 반환됩니다. 이것은 PDF 추출을위한 제 코드입니다.

    나는 tabula을 사용하여 테이블을 추출 할 것을 제안합니다. pdf를 tabula API의 인수로 전달하면 테이블이 dataframe 형식으로 반환됩니다. pdf의 각 테이블은 하나의 데이터 프레임으로 반환됩니다. 이것은 PDF 추출을위한 제 코드입니다.

    #the table will be returned in a list of dataframe,for working with dataframe you need pandas
    import pandas as pd
    import tabula
    files = "filename.pdf"
    path = 'C:\\Users\\Himanshu Poddar\\Desktop\\datathon\\Himachal\\'  + file
    df = tabula.read_pdf(path, pages = '1', multiple_tables = True)
    print(df)
    

    자세한 내용은이 내 저장소를 참조하십시오.

  4. ==============================

    4.pdf 파일을 엑셀 파일로 변환 한 다음 openpyxl 라이브러리를 사용하여 엑셀 파일에서 데이터를 추출하고 해당 파일을 어레이에 추가 한 다음 어레이를 json으로 변환 할 수 있습니다.

    pdf 파일을 엑셀 파일로 변환 한 다음 openpyxl 라이브러리를 사용하여 엑셀 파일에서 데이터를 추출하고 해당 파일을 어레이에 추가 한 다음 어레이를 json으로 변환 할 수 있습니다.

  5. from https://stackoverflow.com/questions/47533875/how-to-extract-table-as-text-from-the-pdf-using-python by cc-by-sa and MIT license