스캔한 PDF에서 데이터를 추출하거나 온라인에서 PDF 페이지 추출기를 사용하여 PDF를 스크랩합니다.

Python을 사용하여 PDF에서 데이터를 추출하는 방법

사용자 정의 템플릿을 사용하여 PDF 또는 Word 문서에서 데이터를 추출해야 할 수 있습니다. 모든 문서를 구문 분석하고 클라우드에서 프로그래밍 방식으로 필드 및 테이블 데이터를 추출할 수 있습니다. 이 기사에서는 Python에서 REST API를 사용하여 PDF 문서에서 특정 데이터를 추출하는 방법을 설명합니다.

이 문서에서는 다음 항목을 다룹니다.

문서 파서 REST API 및 Python SDK

PDF 문서를 구문 분석하고 템플릿을 기반으로 데이터를 추출하기 위해 GroupDocs.Parser Cloud의 Python SDK API를 사용합니다. PDF 문서, Microsoft Office 문서 및 OpenDocument 파일 형식과 같이 널리 사용되는 모든 문서 유형의 데이터를 구문 분석할 수 있습니다. SDK를 사용하여 템플릿으로 텍스트, 이미지, 파싱 데이터를 추출할 수 있습니다. 또한 Cloud API용 문서 파서 제품군 구성원으로 .NET, Java, PHP, Ruby 및 Node.js SDK를 제공합니다.

콘솔에서 다음 명령을 사용하여 pip(python용 패키지 설치 프로그램)를 사용하여 Python 프로젝트에 GroupDocs.Parser Cloud를 설치하여 pdf에서 정보를 추출할 수 있습니다.

pip install groupdocs_parser_cloud

대시보드에서 클라이언트 ID와 클라이언트 암호를 가져와 아래와 같이 코드를 추가하십시오.

client_id = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5"
client_secret = "479db2b01dcb93a3d4d20efb16dea971"

configuration = groupdocs_parser_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Python을 사용하여 템플릿 객체로 데이터 추출

아래에 언급된 간단한 단계에 따라 템플릿을 사용하여 PDF 문서에서 데이터를 추출할 수 있습니다.

문서 업로드

먼저 아래 제공된 코드 예제를 사용하여 PDF 문서를 클라우드에 업로드합니다.

# API 인스턴스 생성
file_api = groupdocs_parser_cloud.FileApi.from_config(configuration)

# 샘플 파일 업로드
request = groupdocs_parser_cloud.UploadFileRequest("companies.pdf", "C:\\Files\\companies.pdf", my_storage)
response = file_api.upload_file(request)

결과적으로 업로드된 PDF 파일은 클라우드 대시보드의 파일 섹션에서 사용할 수 있습니다.

Python을 이용한 템플릿 기반 데이터 추출

프로그래밍 방식으로 템플릿을 기반으로 PDF 파일에서 데이터를 추출하려면 아래 언급된 단계를 따르십시오.

  1. ParseApi 인스턴스 생성
  2. ParseOptions 정의 및 PDF 파일 경로 설정
  3. 템플릿을 개체로 만들기
  4. ParseRequest 생성
  5. ParseApi.parse() 메서드를 호출하여 결과 얻기

다음 코드 샘플은 REST API를 사용하여 PDF 문서에서 정의된 템플릿에 따라 데이터를 추출하는 방법을 보여줍니다.

# API 초기화
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)

# 구문 분석 옵션 정의
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"

# 템플릿 개체 가져오기
options.template = GetTemplate()  

# 구문 분석 요청
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)

# 결과 보여줘
for data in result.fields_data:
    if data.page_area.page_text_area is not None:
        print("Field name: " + data.name + ". Text :" + data.page_area.page_text_area.text)

    if data.page_area.page_table_area is not None:
        print("Table name: " + data.name)
       for cell in data.page_area.page_table_area.page_table_area_cells:
            print("Table cell. Row " + str(cell.row_index) + " column " + str(cell.column_index) + ". Text: " + cell.page_area.page_text_area.text);

아래에서 PDF 문서에 따라 생성된 템플릿을 찾으십시오.

def GetTemplate():
        field1 = groupdocs_parser_cloud.Field()
        field1.field_name = "Address"
        fieldPosition1 = groupdocs_parser_cloud.FieldPosition()
        fieldPosition1.field_position_type = "Regex"
        fieldPosition1.regex = "Company address:"
        field1.field_position = fieldPosition1

        field2 = groupdocs_parser_cloud.Field()
        field2.field_name = "CompanyAddress"
        fieldPosition2 = groupdocs_parser_cloud.FieldPosition()
        fieldPosition2.field_position_type = "Linked"
        fieldPosition2.linked_field_name = "ADDRESS"
        fieldPosition2.is_right_linked = True
        size2 = groupdocs_parser_cloud.Size()
        size2.width = 100
        size2.height = 10
        fieldPosition2.search_area = size2
        fieldPosition2.auto_scale = True
        field2.field_position = fieldPosition2
        
        field3 = groupdocs_parser_cloud.Field()
        field3.field_name = "Company"
        fieldPosition3 = groupdocs_parser_cloud.FieldPosition()
        fieldPosition3.field_position_type = "Regex"
        fieldPosition3.regex = "Company name:"
        field3.field_position = fieldPosition3
        
        field4 = groupdocs_parser_cloud.Field()
        field4.field_name = "CompanyName"
        fieldPosition4 = groupdocs_parser_cloud.FieldPosition()
        fieldPosition4.field_position_type = "Linked"
        fieldPosition4.linked_field_name = "Company"
        fieldPosition4.is_right_linked = True
        size4 = groupdocs_parser_cloud.Size()
        size4.width = 100
        size4.height = 10
        fieldPosition4.search_area = size4
        fieldPosition4.auto_scale = True
        field4.field_position = fieldPosition4
        
        table = groupdocs_parser_cloud.Table()
        table.table_name = "Companies"
        detectorparams = groupdocs_parser_cloud.DetectorParameters()
        rect = groupdocs_parser_cloud.Rectangle()
        size = groupdocs_parser_cloud.Size()
        size.height = 60
        size.width = 480
        position = groupdocs_parser_cloud.Point()
        position.x = 77
        position.y = 279
        rect.size = size
        rect.position = position
        detectorparams.rectangle = rect
        table.detector_parameters = detectorparams
        
        fields = [field1, field2, field3, field4]
        tables = [table]
        
        template = groupdocs_parser_cloud.Template()
        template.fields = fields
        template.tables = tables
        return template
템플릿을 사용하여 문서를 파싱하여 추출한 데이터

템플릿을 사용하여 문서를 파싱하여 추출한 데이터

Python을 사용하여 템플릿 파일로 데이터 추출

프로그래밍 방식으로 JSON 기반 템플릿 파일을 제공하여 PDF 문서에서 데이터를 추출할 수도 있습니다. 템플릿 파일을 제공하여 문서를 구문 분석하려면 아래에 언급된 단계를 따르십시오.

  1. ParseApi 인스턴스 생성
  2. ParseOption 정의
  3. PDF 파일의 경로 설정
  4. 템플릿 파일의 경로 설정
  5. ParseRequest 생성
  6. ParseApi.parse() 메서드를 호출하여 결과 얻기

다음 코드 샘플은 REST API를 사용하여 JSON 파일에 제공된 템플릿에 따라 PDF 문서를 구문 분석하고 데이터를 추출하는 방법을 보여줍니다. 앞에서 언급한 단계에 따라 파일을 업로드하십시오.

# API 초기화
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)

# 구문 분석 옵션 정의
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"
options.template_path = "template.json"

# 구문 분석 요청
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)

# 결과 보여줘
for data in result.fields_data:
    if data.page_area.page_text_area is not None:
        print("Field name: " + data.name + ". Text :" + data.page_area.page_text_area.text)

    if data.page_area.page_table_area is not None:
        print("Table name: " + data.name)
       for cell in data.page_area.page_table_area.page_table_area_cells:
            print("Table cell. Row " + str(cell.row_index) + " column " + str(cell.column_index) + ". Text: " + cell.page_area.page_text_area.text);

아래에서 JSON 형식의 템플릿을 찾으십시오.

{
  "Fields": [
    {
      "FieldName": "Address",
      "FieldPosition": {
        "FieldPositionType": "Regex",
        "Regex": "Companyaddress:"
      }
    },
    {
      "FieldName": "CompanyAddress",
      "FieldPosition": {
        "FieldPositionType": "Linked",
        "LinkedFieldName": "ADDRESS",
        "IsRightLinked": true,
        "SearchArea": {
          "Height": 10.0,
          "Width": 100.0
        },
        "AutoScale": true
      }
    },
    {
      "FieldName": "Company",
      "FieldPosition": {
        "FieldPositionType": "Regex",
        "Regex": "Companyname:"
      }
    },
    {
      "FieldName": "CompanyName",
      "FieldPosition": {
        "FieldPositionType": "Linked",
        "LinkedFieldName": "Company",
        "IsRightLinked": true,
        "SearchArea": {
          "Height": 10.0,
          "Width": 100.0
        },
        "AutoScale": true
      }
    }
  ],
  "Tables": [
    {
      "TableName": "Companies",
      "DetectorParameters": {
        "Rectangle": {
          "Position": {
            "X": 77.0,
            "Y": 279.0
          },
          "Size": {
            "Height": 41.0,
            "Width": 480.0
          }
        }
      }
    }
  ]
}

온라인에서 PDF 파일 추출

PDF 추출기를 온라인에서 무료로 사용하는 방법은 무엇입니까? 다음 무료 온라인 PDF 구문 분석 도구와 무료 PDF 페이지 추출기를 사용해 보십시오. 이 온라인 PDF 추출기 및 PDF 온라인 무료 추출 도구는 위의 API를 사용하여 개발되었습니다. https://products.groupdocs.app/parser/pdf

결론

이 기사에서는 클라우드에서 제공된 템플릿에 따라 PDF 문서에서 특정 데이터를 추출하는 방법을 배웠습니다. 템플릿 객체를 생성하고 템플릿을 JSON 형식으로 제공하는 방법도 배웠습니다. 이 문서에서는 온라인에서 PDF 데이터 추출을 위해 프로그래밍 방식으로 클라우드에 PDF 파일을 업로드하는 방법도 설명했습니다. 문서를 사용하여 GroupDocs.Parser Cloud API에 대해 자세히 알아볼 수 있습니다. 또한 브라우저를 통해 직접 API를 시각화하고 상호 작용할 수 있는 API 참조 섹션을 제공합니다.

질문하기

pdf에서 데이터 추출 및 온라인에서 pdf 데이터 추출에 대한 질문이 있는 경우 무료 지원 포럼에서 언제든지 문의하십시오.

또한보십시오