사용자 정의 템플릿을 사용하여 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 파일을 클라우드에
- Python을 이용한 템플릿 기반 데이터 추출
문서 업로드
먼저 아래 제공된 코드 예제를 사용하여 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 파일에서 데이터를 추출하려면 아래 언급된 단계를 따르십시오.
- ParseApi 인스턴스 생성
- ParseOptions 정의 및 PDF 파일 경로 설정
- 템플릿을 개체로 만들기
- ParseRequest 생성
- 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 문서에서 데이터를 추출할 수도 있습니다. 템플릿 파일을 제공하여 문서를 구문 분석하려면 아래에 언급된 단계를 따르십시오.
- ParseApi 인스턴스 생성
- ParseOption 정의
- PDF 파일의 경로 설정
- 템플릿 파일의 경로 설정
- ParseRequest 생성
- 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 데이터 추출에 대한 질문이 있는 경우 무료 지원 포럼에서 언제든지 문의하십시오.