Python을 사용하여 PDF에서 텍스트 추출
소개
이 기사에서는 Python을 사용하여
text에서 PDF를 추출하는 방법에 대해 설명합니다. 이 작업을 완료하기 위해 PyPDF2 모듈을 사용합니다. PyPDF2는 분할, 병합, 자르기, 사용자 지정 데이터 추가, 암호화 및 PDF에서 텍스트 검색과 같은 많은 작업을 수행할 수 있는 무료 오픈 소스 Python 라이브러리입니다.PDF 샘플 파일
텍스트를 추출하는 데 사용할 PDF 샘플 파일은 Edgar Allan Poe의 The Raven입니다.
디렉토리 구조
실행 전 디렉토리 구조입니다
script.py.Python Project/
├── app/
│   ├── script.py
│   ├── the_raven.pdf
│
구현
PDF 열기 및 텍스트 추출
def extract_text_from_pdf(pdf_filename: str) -> str:
    text_output = ''
    with open(pdf_filename, 'rb') as pdf_object:
        pdf_reader = PyPDF2.PdfFileReader(pdf_object)
        for i in range(0, pdf_reader.numPages):
            page_obj = pdf_reader.getPage(i)
            text_output += page_obj.extractText()
    return text_output
convert_pdf_to_text() 함수는 텍스트를 추출할 PDF의 파일 이름인 pdf_filename 매개변수를 사용합니다. pdf_filename 는 rb 모드(읽기 위해 이진 형식으로 파일 열기)에서 pdf_object 로 열린 다음 PyPDF2 라는 pdf_reader 개체로 전달됩니다. PyPDF2 함수와 range() 속성을 사용하여 numPages 객체의 모든 페이지를 반복하여 범위 함수의 상한을 정의합니다. page_obj 인스턴스를 만들고 page_object 메서드를 사용하여 각 extractText()에서 텍스트를 추출합니다. text_output 문자열에 연결하고 결과를 반환합니다. 파일에 텍스트 저장.
def save_converted_text(text_file: str, filename: str) -> None:
    with open(filename, 'w+', encoding='utf8') as file_obj:
        file_obj.write(text_file)
    print(f'{text_file} has been successfully saved.')
save_converted_text() 함수는 PDF에서 추출된 텍스트인 text_file와 파일을 저장할 이름인 filename의 두 가지 매개변수를 사용합니다. file name는 w+를 'utf8'로 사용하여 file_obj 모드(쓰기 + 읽기)에서 열립니다. text_file 의 내용은 file_obj 에 기록됩니다. 작업이 성공적으로 실행되면 메시지가 인쇄됩니다. 인코딩이란 무엇입니까?
많은 경우 응용 프로그램은 국제화된 메시지를 사용하여 영어, 프랑스어, 일본어, 히브리어 또는 러시아어와 같은 다양한 사용자 선택 언어로 출력을 표시합니다. 웹 콘텐츠는 이러한 언어로 작성할 수 있으며 다양한 이모티콘 기호를 포함할 수도 있습니다. Python의 문자열 유형은 문자를 나타내는 데
Unicode Standard를 사용하므로 Python 프로그램이 가능한 모든 문자로 작업할 수 있습니다. 인코딩을 지정하지 않으면 기본적으로 UTF-8가 사용됩니다. 자세한 내용은 공식 Python 설명서를 참조하십시오encoding.전체 코드
import PyPDF2
# STEP 1: open PDF and convert to text
def extract_text_from_pdf(pdf_filename: str) -> str:
    text_output = ''
    with open(pdf_filename, 'rb') as pdf_object:
        pdf_reader = PyPDF2.PdfFileReader(pdf_object)
        for i in range(0, pdf_reader.numPages):
            page_obj = pdf_reader.getPage(i)
            text_output += page_obj.extractText()
    return text_output
# STEP 2: Save Text to File
def save_converted_text(text_file: str, filename: str) -> None:
    with open(filename, 'w+', encoding='utf8') as file_obj:
        file_obj.write(text_file)
    print(f'{text_file} has been successfully saved.')
if __name__ == '__main__':
    # extract text from PDF
    text_from_pdf = extract_text_from_pdf('the_raven.pdf')
    # save extracted text
    save_converted_text(text_from_pdf, 'the_raven.txt')
디렉토리 구조
실행 후 디렉토리 구조입니다
script.py.Python Project/
├── app/
│   ├── script.py
│   ├── the_raven.pdf
│   ├── the_raven.txt
│
결론
이 문서를 읽은 후 이제 Python의 라이브러리
PyPDF2를 사용하여 PDF에서 텍스트를 추출할 수 있습니다. 텍스트를 추출할 때 인식할 수 없는 텍스트가 나타나면 올바른 문자열 인코딩을 사용하고 있는지 확인하십시오. 이 글이 도움이 되셨다면 like , follow , leave a comment 를 눌러주세요!🔗 리소스 링크
Reference
이 문제에 관하여(Python을 사용하여 PDF에서 텍스트 추출), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/seraph776/extract-text-from-pdf-using-python-5flh텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)