Python에서 PDF 파싱하는 방법: 강력한 단계별 가이드

PDF 파일에서 데이터를 추출하는 것을 의미하는 파싱 PDF는 구조화된 데이터 또는 비구조화된 데이터를 추출하는 것을 의미합니다. PDF의 복잡한 구조로 인해 어려울 수 있습니다. 일반 텍스트나 JSONXML과 같은 구조화된 형식과 달리, PDF는 항상 선형 순서를 따르지 않는 방식으로 콘텐츠를 저장합니다. 텍스트, 테이블, 이미지 및 메타데이터를 추출하려면 신뢰할 수 있고 정확하며 효율적인 Python PDF 파서 라이브러리가 필요합니다. 이 기사에서는 Aspose.PDF for Python을 사용하여 Python에서 PDF를 파싱하는 방법을 배울 것입니다. 이 가이드가 끝나면 Python에서 PDF 문서에서 텍스트, 테이블 및 이미지를

이 기사에서는 다음 주제를 다룹니다:

Aspose.PDF: 최고의 Python PDF 파서 라이브러리

Aspose.PDF for Python은 오늘날 사용 가능한 최고의 Python PDF 파서 라이브러리 중 하나입니다. 높은 정확성을 제공하며, 구조화된 데이터 추출을 지원하고, OCR 지원을 통해 스캔한 PDF와도 작업할 수 있습니다.

Aspose.PDF는 여러 가지 이유로 Python PDF 파서 라이브러리 중에서 두드러집니다:

  • 높은 정확도: 텍스트와 표를 정밀하게 추출합니다.
  • 구조화된 데이터 지원: 테이블, 이미지 및 메타데이터와 함께 작동합니다.
  • No External Dependencies: A lightweight, self-contained library.
  • 다양한 출력 형식: PDF를 텍스트, XLSX, DOCX, HTML 및 이미지 형식으로 변환합니다.
  • 보안 및 신뢰성: 데이터 손상 없이 복잡한 PDF 구조를 처리합니다.

오픈 소스 대안과 비교하여, Aspose.PDF는 더 강력하고 기능이 풍부한 솔루션을 제공합니다, 이는 기업 애플리케이션 및 문서 자동화 시스템에 이상적입니다.

설치 및 설정

Aspose.PDF for Python 설치는 간단합니다. releases에서 다운로드하거나 다음 pip 명령을 실행하세요:

pip install aspose-pdf

Aspose.PDF를 Python 애플리케이션에서 사용하려면 필요한 모듈을 가져오세요:

import aspose.pdf as ap

텍스트 추출: Python에서 PDF 파싱하기

PDF에서 텍스트를 구문 분석하는 것은 Python PDF 파서 라이브러리의 주요 기능 중 하나입니다. 우리는 PDF 문서의 모든 페이지 또는 특정 페이지나 PDF 문서의 특정 영역에서 텍스트를 추출할 수 있습니다. 다음 섹션에서는 다음과 같은 방법을 배우게 됩니다:

Python에서 PDF의 모든 페이지에서 텍스트 파싱하기

Aspose.PDF for Python은 DocumentTextAbsorber 클래스를 사용하여 PDF 문서에서 텍스트를 효율적으로 추출하는 방법을 제공합니다. Document 클래스는 PDF 파일을 로드하는 데 사용되며, TextAbsorber 클래스는 모든 페이지에서 텍스트 콘텐츠를 추출하는 역할을 합니다. accept() 메서드는 각 페이지를 처리하고 텍스트를 추출하여 필요에 따라 저장하거나 표시할 수 있습니다.

PDF에서 모든 페이지의 텍스트를 추출하는 단계는 다음과 같습니다.

  1. Document 클래스를 사용하여 PDF 문서를 로드합니다.
  2. TextAbsorber 클래스의 인스턴스를 생성하여 텍스트 추출을 처리합니다.
  3. pages 컬렉션에서 accept() 메서드를 호출하여 TextAbsorber가 모든 페이지를 처리할 수 있도록 하십시오.
  4. TextAbsorber 인스턴스의 text 속성을 사용하여 추출된 텍스트를 가져옵니다.
  5. Print the extracted text.

다음 코드 예제는 Python에서 PDF의 모든 페이지에서 텍스트를 구문 분석하는 방법을 보여줍니다.

# 이 코드 예제는 Python에서 PDF 문서의 모든 페이지에서 텍스트를 추출하는 방법을 보여줍니다.
import aspose.pdf as ap

# PDF 문서를 열기
document = ap.Document("AddText.pdf")

# Create text absorber
text_absorber = ap.text.TextAbsorber()

# 모든 페이지를 처리하기 위해 accept 메서드를 호출하십시오.
document.pages.accept(text_absorber)

# Retrieve the extracted text
extracted_text = text_absorber.text

# 파일 경로를 정의하십시오.
file_path = "extracted-text.txt"

# 파일을 쓰기 모드로 열고 추출된 텍스트를 작성하십시오.
with open(file_path, "w", encoding="utf-8") as tw:
    tw.write(extracted_text + "\n")  # Write the extracted text with a newline

특정 페이지에서 PDF 텍스트 추출

우리는 이전 접근 방식을 약간 수정하여 PDF 문서의 특정 페이지에서 텍스트를 추출할 수도 있습니다. 전체 문서를 처리하는 대신, Document 객체의 원하는 페이지에서 accept() 메서드를 호출하기만 하면 됩니다. 페이지 번호를 인덱스를 사용하여 지정하면 Aspose.PDF는 해당 페이지에서만 텍스트를 추출합니다. 이 방법은 특정 섹션의 데이터만 필요할 때, 대용량 PDF를 다룰 때 유용하며 효율성과 성능을 향상시킵니다.

다음 코드 예제는 Python에서 PDF의 특정 페이지에서 텍스트를 구문 분석하는 방법을 보여줍니다.

# 이 코드 예제는 Python에서 PDF 문서의 특정 페이지에서 텍스트를 추출하는 방법을 보여줍니다.
import aspose.pdf as ap

# PDF 문서 열기
document = ap.Document("AddText.pdf")

# Create text absorber
text_absorber = ap.text.TextAbsorber()

# 모든 페이지를 처리하려면 accept 메서드를 호출하십시오.
document.pages[1].accept(text_absorber)

# 리트리브 더 익스트랙티드 텍스트
extracted_text = text_absorber.text

# 파일 경로 정의
file_path = "extracted-text.txt"

# 파일을 쓰기 모드로 열고 추출된 텍스트를 작성하세요.
with open(file_path, "w", encoding="utf-8") as tw:
    tw.write(extracted_text + "\n")  # Write the extracted text with a newline

특정 지역에서 PDF의 텍스트 파싱

때때로, 우리는 전체 문서에서 콘텐츠를 가져오는 대신 PDF 페이지의 특정 섹션에서 텍스트를 추출해야 할 필요가 있습니다. 특정 영역을 타겟팅하려면 TextSearchOptionsRectangle 속성을 사용하십시오. 이 속성은 원하는 영역의 좌표를 정의하는 Rectangle 객체를 허용합니다. 이 경계를 지정함으로써, 페이지의 나머지 콘텐츠는 무시하고 선택된 영역에서만 텍스트를 추출할 수 있습니다.

특정 페이지 영역에서 텍스트 추출하는 단계

  1. Document 클래스를 사용하여 PDF 문서를 로드합니다.
  2. TextAbsorber 클래스 인스턴스를 생성하여 문서에서 텍스트를 캡처합니다.
  3. TextSearchOptions.Rectangle를 사용하여 텍스트를 추출할 영역을 정의합니다.
  4. 특정 페이지에서 텍스트 추출을 적용하려면 선택한 페이지에서 accept() 메서드를 호출하세요.
  5. TextAbsorberText 속성에서 추출된 텍스트를 가져옵니다.
  6. Process the output as needed.

다음 코드 예제는 Python에서 PDF 페이지의 특정 영역에서 텍스트를 구문 분석하는 방법을 보여줍니다.

# 이 코드 예제는 Python을 사용하여 PDF 문서의 특정 영역에서 텍스트를 추출하는 방법을 보여줍니다.
import aspose.pdf as ap

# Open PDF document
document = ap.Document("sample.pdf")

# TextAbsorber 개체를 생성하여 텍스트를 추출합니다.
absorber = ap.text.TextAbsorber()
absorber.text_search_options.limit_to_page_bounds = True
absorber.text_search_options.rectangle = ap.Rectangle(100, 200, 250, 350, True)

# 첫 페이지에 대한 흡수기를 수락하세요
document.pages[1].accept(absorber)

# Get the extracted text
extracted_text = absorber.text

# 파일 경로를 정의하십시오.
file_path = "extracted-text.txt"

# 파일을 쓰기 모드로 열고 추출한 텍스트를 작성합니다.
with open(file_path, "w", encoding="utf-8") as tw:
    tw.write(extracted_text + "\n")  # Write the extracted text with a newline

이 접근 방식은 테이블 셀, 양식 필드 또는 페이지의 정의된 섹션에서 텍스트를 정확하게 추출할 수 있도록 하여 문서 자동화 및 데이터 분석에 적합합니다.

멀티 컬럼 PDF에서 텍스트 추출하기

PDF 문서는 종종 텍스트, 이미지, 주석, 첨부 파일 및 그래프와 같은 요소가 혼합되어 있습니다. 다중 열 PDF를 처리할 때 원래 레이아웃을 유지하면서 텍스트를 추출하는 것이 어려울 수 있습니다.

Aspose.PDF for Python은 개발자가 추출 전에 텍스트 속성을 조작할 수 있도록 하여 이 프로세스를 단순화합니다. 글꼴 크기를 조정한 다음 텍스트를 추출함으로써 더 깔끔하고 구조화된 출력을 얻을 수 있습니다. 다음 단계에서는 다중 열 PDF에서 정확한 텍스트 추출을 위해 이 방법을 적용하는 방법을 보여줍니다.

파이썬에서 다중 열 PDF에서 텍스트 추출하는 단계

  1. Document 클래스를 사용하여 PDF 문서를 로드합니다.
  2. TextFragmentAbsorber의 인스턴스를 생성하여 문서에서 개별 텍스트 조각을 찾고 추출합니다.
  3. 모든 감지된 텍스트 조각을 검색하고 그들의 글꼴 크기를 70% 줄여 추출 정확도를 높이십시오.
  4. 수정된 문서를 메모리 스트림에 저장하여 중간 파일을 저장하는 것을 피하십시오.
  5. 메모리 스트림에서 PDF를 로드하여 조정된 텍스트를 처리합니다.
  6. TextAbsorber를 사용하여 수정된 문서에서 구조화된 텍스트를 검색합니다.
  7. 추출된 텍스트를 추가 사용을 위해 .txt 파일로 저장하세요.

다음 코드 예시는 레이아웃을 유지하면서 다중 열 PDF에서 텍스트를 추출하는 방법을 보여줍니다.

# 이 코드 예제는 Python에서 다중 열 PDF에서 텍스트를 추출하는 방법을 보여줍니다.
import io
import aspose.pdf as ap

# PDF 문서 열기
document = ap.Document("multi-column-sample.pdf")

# TextFragmentAbsorber 객체를 생성하여 텍스트를 추출합니다.
text_fragment_absorber = ap.text.TextFragmentAbsorber()

# 첫 페이지에 대한 흡수기를 수락하십시오.
document.pages.accept(text_fragment_absorber)

# 추출된 텍스트 조각의 모음을 가져옵니다.
text_fragment_collection = text_fragment_absorber.text_fragments

# 폰트 크기를 최소 70% 줄여 텍스트 추출을 향상시킵니다.
for text_fragment in text_fragment_collection:
    text_fragment.text_state.font_size *= 0.7

# 수정된 문서를 메모리 스트림에 저장하십시오.
source_stream = io.BytesIO()
document.save(source_stream)

# 메모리 스트림에서 문서를 다시 로드하십시오.
source_stream.seek(0)
dest_document = ap.Document(source_stream)

# 텍스트 흡수기를 초기화하여 업데이트된 텍스트를 추출합니다.
text_absorber = ap.text.TextAbsorber()
dest_document.pages.accept(text_absorber)
extracted_text = text_absorber.text

# 추출된 텍스트를 파일에 저장하세요.
with open("ExtractColumnsText_out.txt", "w", encoding="utf-8") as file:
    file.write(extracted_text)

이 방법은 다중 열 PDF에서 추출된 텍스트가 가능한 한 원래 레이아웃을 정확하게 유지하도록 보장합니다.

스케일 팩터를 이용한 향상된 텍스트 파싱

Aspose.PDF for Python은 PDF를 파싱하고 특정 페이지에서 텍스트를 추출할 수 있는 고급 텍스트 추출 옵션을 제공합니다. 이러한 옵션에는 텍스트 형식 모드 및 배율 인자가 포함되어 있습니다. 이러한 옵션은 다단 문서를 포함한 복잡한 PDF에서 텍스트를 정확하게 추출하는 데 도움이 됩니다.

ScaleFactor 옵션을 사용하면 내부 텍스트 그리드를 미세 조정하여 더 나은 정확성을 얻을 수 있습니다. 1과 0.1 사이의 스케일 팩터는 글꼴 축소와 같이 작용하여 추출된 텍스트를 올바르게 정렬하는 데 도움을 줍니다. 0.1과 -0.1 사이의 값은 제로로 처리되어 페이지에서 가장 많이 사용되는 글꼴의 평균 문자 너비에 따라 자동 스케일링이 가능하게 합니다. ScaleFactor가 설정되지 않으면 기본값 1.0이 적용되어 스케일링 조정이 이루어지지 않습니다. 대규모 텍스트 추출에는 자동 스케일링(ScaleFactor = 0)이 권장되지만, 복잡한 레이아웃의 경우 ScaleFactor = 0.5로 수동 설정하면 결과를 향상시

특정 페이지에서 스케일 팩터로 텍스트 추출하는 단계

  1. Document 클래스를 사용하여 PDF 문서를 로드합니다.
  2. TextAbsorber의 인스턴스를 생성하여 텍스트를 추출합니다.
  3. TextExtractionOptions 를 정확한 추출을 위해 PURE 형식 모드로 설정합니다.
  4. scalefactor를 조정하여 다중 열 PDF에서 텍스트 인식을 최적화하세요.
  5. pages 컬렉션에서 텍스트를 추출하려면 accept()를 호출하세요.
  6. 추출된 콘텐츠를 텍스트 파일에 저장하십시오.
# 이 코드 예제는 Python을 사용하여 PDF 문서의 특정 영역에서 텍스트를 추출하는 방법을 보여줍니다.
import aspose.pdf as ap

# PDF 문서 열기
document = ap.Document("sample.pdf")

# 텍스트 추출 옵션으로 TextAbsorber 초기화
text_absorber = ap.text.TextAbsorber()

# 추출 옵션 설정
extraction_options = ap.text.TextExtractionOptions(ap.text.TextExtractionOptions.TextFormattingMode.PURE)
extraction_options.scale_factor = 0.5  # Adjusts text recognition for better column detection
text_absorber.extraction_options = extraction_options

# 지정된 페이지에서 텍스트를 추출하십시오.
document.pages.accept(text_absorber)

# Get extracted text
extracted_text = text_absorber.text

# 추출된 텍스트를 파일에 저장합니다.
with open("ExtractTextUsingScaleFactor_out.txt", "w", encoding="utf-8") as file:
    file.write(extracted_text)

PDF의 텍스트 구문 분석: 대체 접근법

Aspose.PDF for Python은 TextDevice 클래스를 사용하여 텍스트를 추출하는 대체 방법도 제공합니다. TextDevice를 사용하여 PDF에서 텍스트 추출하기에 대해 자세히 읽어보십시오.

PDF에서 테이블을 파싱하는 방법은 Python에서

PDF에서 테이블을 구문 분석하는 것은 데이터 분석, 자동화 및 보고를 위해 필수적입니다. PDF는 종종 표 형식으로 구조화된 데이터를 포함하고 있으며, 이는 표준 텍스트 추출 방법을 사용하여 검색하기 어려울 수 있습니다. 다행히도, Aspose.PDF for Python은 높은 정확도로 테이블을 추출하는 강력한 방법을 제공하여 그 구조와 내용을 유지합니다.

TableAbsorber 클래스는 PDF 페이지에서 테이블을 감지하고 추출하는 데 특별히 설계되었습니다. 각 페이지를 처리하고 테이블을 식별하며 구조를 유지하면서 개별 행과 셀을 검색합니다. 아래는 Aspose.PDF for Python을 사용하여 PDF 문서에서 테이블을 추출하는 단계입니다.

PDF에서 테이블을 파싱하는 단계는 Python에서

  1. PDF 파일이 포함된 테이블을 Document 클래스를 사용하여 로드하십시오.
  2. pages 컬렉션을 루프를 통해 문서의 각 페이지를 개별적으로 처리합니다.
  3. TableAbsorber 클래스의 인스턴스를 만들어서 테이블을 감지하고 추출합니다.
  4. 현재 페이지의 테이블을 식별하려면 visit() 메서드를 호출하십시오.
  5. 추출된 테이블 목록을 반복하여 행과 셀을 가져옵니다.
  6. 각 셀의 textfragments에 접근하고 segments 속성을 사용하여 텍스트를 추출합니다.
  7. 추출한 테이블 데이터를 저장하여 추가 분석을 하거나 콘솔에 표시하십시오.
# 이 코드 예제는 Python에서 PDF 문서에서 테이블을 추출하는 방법을 보여줍니다.
import aspose.pdf as ap

# PDF 파일을 불러오세요.
document = pdf.Document("sample.pdf")

# 모든 페이지 처리하기
for page in document.pages:
    # TableAbsorber 객체 초기화
    absorber = ap.text.TableAbsorber()
    # 현재 페이지의 표를 식별하십시오.
    absorber.visit(page)
    # 추출된 테이블을 반복합니다.
   for table in absorber.table_list:
        # 테이블의 모든 행을 반복합니다.
       for row in table.row_list:
            # 행에서 모든 열을 반복합니다.
           for cell in row.cell_list:
                # 텍스트 조각을 가져옵니다.
                text_fragment_collection = cell.text_fragments
                # 텍스트 조각을 반복하다
               for fragment in text_fragment_collection:
                    # Print the text
                    print(fragment.text)

다음 단계를 따르면 PDF에서 테이블을 효율적으로 추출할 수 있어 구조화된 데이터를 처리하고 분석하는 것이 더 쉬워집니다.

PDF 메타데이터 파싱: Python에서 PDF 파일 정보 얻기

PDF 작업 시 저자, 생성 날짜, 키워드 및 제목과 같은 메타데이터를 검색하는 것이 종종 필요합니다. Aspose.PDF for Python은 Document 클래스의 Info 속성을 통해 DocumentInfo 객체에 접근할 수 있도록 하여 이를 쉽게 만들어 줍니다. 이를 통해 필수 문서 속성을 프로그래밍적으로 추출할 수 있습니다.

PDF 메타데이터 구문 분석 단계

  1. 원하는 PDF 파일을 열기 위해 Document 클래스를 사용하십시오.
  2. info 속성을 사용하여 DocumentInfo 객체를 가져옵니다.
  3. 특정 세부 사항에 접근하십시오. 예를 들어 저자, 작성 날짜, 제목, 주제 및 키워드 등이 있습니다.
  4. 메타데이터를 인쇄하거나 추가 처리를 위해 저장하십시오.

다음 Python 스크립트는 Python에서 PDF 파일에서 주요 세부 정보를 검색하고 표시하는 방법을 보여줍니다:

# 이 코드 예제는 Python에서 파일 정보를 추출하는 방법을 보여줍니다.
import aspose.pdf as ap

# PDF 문서를 불러오십시오
document = ap.Document("Sample.pdf")

# 문서 정보 검색
doc_info = document.info

# 문서 메타데이터 표시
print(f"Author: {doc_info.author}")
print(f"Creation Date: {doc_info.creation_date}")
print(f"Keywords: {doc_info.keywords}")
print(f"Modify Date: {doc_info.mod_date}")
print(f"Subject: {doc_info.subject}")
print(f"Title: {doc_info.title}")

PDF 파일에서 이미지 파싱하기 (Python 사용)

우리는 PDF 문서를 파싱하고 문서에 삽입된 이미지를 효율적으로 검색할 수 있습니다. 우리는 특정 페이지에서 고품질 이미지를 추출하고 추가 사용을 위해 별도로 저장할 수 있습니다.

각 PDF 페이지는 리소스 컬렉션 내에 있는 XImage 컬렉션 내에서 이미지를 저장합니다. 이미지를 추출하려면 원하는 페이지에 접근하고, 인덱스를 사용하여 Images 컬렉션에서 이미지를 검색한 다음, 저장하십시오.

PDF에서 이미지를 파싱하는 단계는 Python에서

  1. PDF 파일을 Document 클래스를 사용하여 이미지가 포함된 파일을 로드합니다.
  2. 특정 페이지를 가져와서 이미지를 추출하고자 합니다.
  3. 페이지의 resources에서 Images 컬렉션에 접근하고 이미지 인덱스를 지정합니다.
  4. 추출된 이미지를 스트림을 사용하여 저장하십시오.

다음 코드 예제는 Python에서 PDF에서 이미지를 구문 분석하는 방법을 보여줍니다.

# 이 코드 예제는 Python에서 PDF에서 이미지를 추출하는 방법을 보여줍니다.
import aspose.pdf as ap

# 문서 열기
document = ap.Document("Sample.pdf")

# 특정 이미지를 추출하세요 (첫 페이지의 첫 번째 이미지).
x_image = document.pages[1].resources.images[1]

# 출력 이미지 경로를 정의하다
output_image_path = "OutputImage.jpg"

# 추출한 이미지를 저장하세요.
with open(output_image_path, "wb") as output_image:
    output_image.write(x_image.to_stream().read())

이 방법은 품질을 유지하면서 PDF에서 이미지를 손쉽고 효율적으로 추출할 수 있는 방법을 제공합니다. Aspose.PDF for Python을 사용하면 document processing과 같은 다양한 애플리케이션을 위한 이미지 추출을 자동화할 수 있습니다, 데이터 아카이빙, 및 콘텐츠 분석.

Python에서 PDF 주석을 파싱하는 방법

PDF의 주석은 하이라이트, 도형 및 스티키 노트를 추가함으로써 문서 상호작용을 향상시킵니다. 각 주석 유형은 특정 목적을 가지고 있으며, Aspose.PDF for Python은 분석 또는 처리를 위해 이를 쉽게 추출할 수 있도록 하여 줍니다.

PDF에서 텍스트 주석 파싱하기 Python으로

PDF 문서는 종종 특정 페이지의 위치에 첨부된 주석이나 메모로 사용되는 텍스트 주석을 포함하고 있습니다. 축소된 상태에서는 이러한 주석이 아이콘으로 나타나며, 확장되면 팝업 창에 텍스트가 표시됩니다. PDF의 각 페이지에는 해당 페이지에 특정한 모든 주석을 보유한 자신의 주석 모음이 있습니다. Aspose.PDF for Python을 활용하면 PDF 파일에서 텍스트 주석을 효율적으로 추출할 수 있습니다.

PDF에서 텍스트 주석을 구문 분석하는 단계

  1. Document 클래스를 사용하여 PDF 문서를 불러옵니다.
  2. 특정 페이지의 annotations 속성을 가져와 해당 페이지의 모든 주석을 가져옵니다.
  3. 주석을 반복하고 AnnotationType.TEXT가 포함된 주석을 필터링합니다.
  4. 관련 정보(예: 주석 위치(rect))를 검색하여 추가 처리 또는 표시를 진행합니다.
import aspose.pdf as ap

# PDF 문서를 불러오세요.
document = ap.Document("annotations.pdf")

# 첫 페이지의 모든 주석을 반복합니다.
for annotation in document.pages[1].annotations:
    if annotation.annotation_type == ap.annotations.AnnotationType.TEXT:
        # 주석 세부정보 인쇄
        print(f"Title: {annotation.full_name}")
        print(f"Contents: {annotation.contents}")
        print(f"Annotation Rectangle: {annotation.rect}")

이러한 단계를 따르면 Python에서 PDF 문서에서 텍스트 주석을 효율적으로 추출하고 처리할 수 있습니다.

PDF 텍스트 주석을 Python에서 working with PDF Text Annotation in Python 사용하는 방법에 대해 공식 가이드를 방문하여 더 알아보세요.

PDF에서 강조된 텍스트를 Python으로 파싱하기

많은 경우, 전체 콘텐츠가 아니라 PDF에서 하이라이트된 텍스트만 추출해야 할 필요가 있습니다. 중요한 노트를 분석하든, 주요 포인트를 요약하든, 문서 처리를 자동화하든, Aspose.PDF for Python은 하이라이트된 텍스트를 효율적으로 가져오는 것을 쉽게 만들어 줍니다.

하이라이트 주석은 중요한 텍스트 구간을 표시하며, 일반적으로 리뷰나 공부 노트에 사용됩니다. HighlightAnnotation 클래스를 사용하여 하이라이트된 텍스트 및 그 속성(예: 색상 및 위치)을 추출할 수 있습니다.

우리는 이전에 언급된 단계를 따라 PDF 문서에서 하이라이트된 텍스트 주석을 구문 분석할 수 있습니다. 그러나 3단계에서 AnnotationType.HIGHLIGHT를 언급할 필요가 있습니다.

다음 예시는 PDF에서 강조 표시된 텍스트를 필터링하고 추출하는 방법을 보여줍니다.

import aspose.pdf as ap

# PDF 문서를 불러오기
document = ap.Document("annotations.pdf")

# 첫 페이지의 모든 주석을 반복합니다.
for annotation in document.pages[1].annotations:
    if annotation.annotation_type == ap.annotations.AnnotationType.HIGHLIGHT:
        # 주석 세부정보 인쇄
        print(f"Title: {annotation.full_name}")
        print(f"Annotation Rectangle: {annotation.rect}")

Learn more about working with PDF Highlights Annotation in Python by visiting the official guide.

파싱 PDF 그림 주석을 파이썬에서

그림 주석에는 강조 또는 설명에 사용되는 도형, 그림 또는 스탬프와 같은 그래픽 요소가 포함됩니다. 이러한 주석을 추출하려면 InkAnnotation 또는 StampAnnotation 객체를 식별하고 해당 그림 경로나 이미지를 검색하는 과정이 필요합니다.

PDF 문서에서 라인 주석을 구문 분석하려면 이전에 설명한 단계를 따르세요. 필요한 유일한 수정 사항은 3단계에서 AnnotationType.LINE을 지정하는 것입니다.

다음 예제는 Python을 사용하여 PDF에서 줄 주석을 구문 분석하는 방법을 보여줍니다.

import aspose.pdf as ap

# PDF 문서를 불러오세요.
document = ap.Document("annotations.pdf")

# 첫 페이지의 모든 주석을 반복합니다.
for annotation in document.pages[1].annotations:
    if annotation.annotation_type == ap.annotations.AnnotationType.LINE:
        # 인쇄 주석 세부정보
        print(f"Annotation Rectangle: {annotation.rect}")

Read more about working with PDF Figures Annotations in Korean here.

PDF의 링크 주석은 사용자가 문서 내에서 원활하게 탐색하거나 외부 파일을 열거나 PDF에서 직접 웹 페이지를 방문할 수 있게 해줍니다. 이러한 하이퍼링크는 추가 정보에 대한 빠른 액세스를 제공함으로써 상호작용을 향상시키고 사용자 경험을 개선합니다.

PDF에서 링크 주석을 추출하려면 이전과 동일한 단계를 따르되, 3단계에서 AnnotationType.LINK를 지정해야 합니다. 이렇게 하면 링크 주석만 검색됩니다.

다음 코드 예제는 Python을 사용하여 PDF에서 링크 주석을 구문 분석하는 방법을 보여줍니다.

import aspose.pdf as ap

# PDF 문서를 로드하세요.
document = ap.Document("annotations.pdf")

# 첫 페이지의 모든 주석을 반복합니다.
for annotation in document.pages[1].annotations:
    if annotation.annotation_type == ap.annotations.AnnotationType.LINK:
        # 주석 세부정보 인쇄
        print(f"Annotation Rectangle: {annotation.rect}")

Aspose.PDF for Python을 활용하여 문서 색인 생성 또는 탐색 향상과 같은 다양한 용도를 위해 링크 주석을 효율적으로 추출하고 조작할 수 있습니다.

Read the complete details on 링크 주석을 PDF에서 처리하기 here.

결론

Aspose.PDF for Python은 신뢰할 수 있고 효율적이며 기능이 풍부한 PDF 파서를 필요로 하는 개발자를 위한 최고의 Python PDF 파서 라이브러리입니다. 텍스트, 표, 이미지, 메타데이터 또는 주석을 구문 분석해야 하는 경우 Aspose.PDF는 필요한 도구를 제공합니다.

제공된 코드 샘플을 시도해보고 PDF를 파싱하며 Python에서 PDF 파싱 작업을 간소화해 보세요!

질문이 있거나 추가 도움이 필요하신 경우, 언제든지 free support forum 에 문의해 주시기 바랍니다.

See Also