클라우드에서 사용자 정의 템플릿을 사용하여 PDF 문서를 쉽게 구문 분석하고 특정 데이터를 추출할 수 있습니다. 프로그래밍 방식으로 PDF 파일에서 필드 및 테이블 데이터를 추출할 수 있습니다. 이 기사에서는 Node.js에서 REST API를 사용하여 PDF에서 데이터를 추출하는 방법을 배웁니다.
이 문서에서는 다음 항목을 다룹니다.
- PDF에서 데이터를 추출하기 위한 REST API 및 Node.js SDK
- Node.js에서 JSON 기반 템플릿 파일을 사용하여 데이터 추출
- Node.js에서 템플릿 개체를 사용하여 데이터 추출
- Node.js의 템플릿을 사용하여 컨테이너 내부 문서 구문 분석
PDF에서 데이터를 추출하기 위한 REST API 및 Node.js SDK
템플릿을 기반으로 PDF 문서를 구문 분석하고 데이터를 추출하기 위해 GroupDocs.Parser Cloud의 Node.js SDK API를 사용합니다. 또한 지원되는 문서 유형을 구문 분석하고 템플릿을 사용하여 텍스트, 이미지 및 특정 데이터를 추출할 수 있습니다. 콘솔에서 다음 명령을 사용하여 설치하십시오.
npm install groupdocs-parser-cloud
언급된 단계를 따르기 전에 대시보드에서 클라이언트 ID와 암호를 가져오십시오. ID와 시크릿이 있으면 아래와 같이 코드를 추가합니다.
// 이 코드 예제는 클라이언트 ID와 시크릿을 추가하는 방법을 보여줍니다.
global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";
const configuration = new groupdocs_parser_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";
Node.js에서 JSON 기반 템플릿 파일을 사용하여 데이터 추출
아래 제공된 간단한 단계에 따라 템플릿을 사용하여 PDF 문서에서 데이터를 추출할 수 있습니다.
- 업로드 PDF 파일을 클라우드로
- JSON 기반 템플릿 파일을 사용하여 PDF에서 데이터 추출
문서 업로드
먼저 아래 제공된 코드 샘플을 사용하여 PDF 스크랩을 위해 PDF 문서를 클라우드에 업로드합니다.
// 이 코드 예제는 PDF 문서를 클라우드에 업로드하는 방법을 보여줍니다.
// FileApi 구성
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);
let file = 'C:\\Files\\companies.pdf';
// 파일 읽기
fs.readFile(file, (err, fileStream) => {
// 파일 요청 업로드
let request = new groupdocs_parser_cloud.UploadFileRequest("companies.pdf", fileStream, myStorage);
// 파일 업로드
fileApi.uploadFile(request);
});
결과적으로 업로드된 PDF 파일은 클라우드 대시보드의 파일 섹션에서 사용할 수 있습니다.
JSON 기반 템플릿 파일을 사용하여 PDF에서 데이터 추출
아래 단계에 따라 JSON 기반 템플릿 파일을 사용하여 PDF 문서를 구문 분석하고 데이터를 추출할 수 있습니다.
- ParseApi의 인스턴스를 만듭니다.
- 업로드된 PDF 파일 경로를 제공하십시오.
- 템플릿 JSON 파일의 경로를 설정합니다.
- 마지막으로 문서를 구문 분석하고 데이터를 추출합니다.
다음 코드 샘플은 REST API를 사용하여 JSON 파일에 제공된 템플릿에 따라 데이터를 추출하는 방법을 보여줍니다.
// 이 코드 예제는 JSON 기반 템플릿으로 PDF 문서를 구문 분석하는 방법을 보여줍니다.
// API 인스턴스 생성
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);
// 입력 파일 경로
let fileInfo = new groupdocs_parser_cloud.FileInfo()
fileInfo.filePath = "companies.pdf"
// 구문 분석 옵션 만들기
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
options.templatePath = "template.json";
// 구문 분석 요청 만들기
let request = new groupdocs_parser_cloud.ParseRequest(options);
// 문서 구문 분석
let response = await parseApi.parse(request);
// 디스플레이 출력
response.fieldsData.forEach(data => {
if (data.pageArea.pageTextArea != null) {
console.log("Field name: " + data.name + ". Text :" + data.pageArea.pageTextArea.text);
}
if (data.pageArea.pageTableArea != null) {
console.log("Table name: " + data.name);
data.pageArea.pageTableArea.pageTableAreaCells.forEach(cell => {
console.log("Table cell. Row " + cell.rowIndex + " column " + cell.columnIndex + ". Text: " + cell.pageArea.pageTextArea.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
}
}
}
}
]
}
Node.js에서 템플릿 개체를 사용하여 데이터 추출
아래 단계에 따라 개체로 정의된 템플릿을 기반으로 PDF 파일에서 데이터를 추출할 수 있습니다.
- ParseApi의 인스턴스를 만듭니다.
- 업로드된 PDF 파일 경로를 제공하십시오.
- 템플릿을 개체로 초기화합니다.
- 마지막으로 문서를 구문 분석하고 데이터를 추출합니다.
다음 코드 샘플은 REST API를 사용하여 PDF 문서에서 정의된 템플릿에 따라 데이터를 추출하는 방법을 보여줍니다. 앞에서 언급한 단계에 따라 파일을 업로드하십시오.
// 이 코드 예제는 템플릿 객체로 PDF 문서를 구문 분석하는 방법을 보여줍니다.
// API 초기화
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);
// 입력 파일
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "companies.pdf";
// 구문 분석 옵션 정의
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
// 템플릿 개체 가져오기
options.template = GetTemplate();
// 구문 분석 요청 만들기
let request = new groupdocs_parser_cloud.ParseRequest(options);
// 문서 통과
let result = await parseApi.parse(request);
// 결과 보여줘
result.fieldsData.forEach(data => {
if (data.pageArea.pageTextArea != null) {
console.log("Field name: " + data.name + ". Text :" + data.pageArea.pageTextArea.text);
}
if (data.pageArea.pageTableArea != null) {
console.log("Table name: " + data.name);
data.pageArea.pageTableArea.pageTableAreaCells.forEach(cell => {
console.log("Table cell. Row " + cell.rowIndex + " column " + cell.columnIndex + ". Text: " + cell.pageArea.pageTextArea.text);
});
}
});
pdf에서 데이터를 스크랩하기 위해 PDF 문서에 따라 생성된 템플릿 객체를 아래에서 찾으십시오.
// 이 코드 예제는 템플릿 객체를 보여줍니다.
let field1 = new groupdocs_parser_cloud.Field();
field1.fieldName = "Address";
let fieldPosition1 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition1.fieldPositionType = "Regex";
fieldPosition1.regex = "Company address:";
field1.fieldPosition = fieldPosition1;
let field2 = new groupdocs_parser_cloud.Field();
field2.fieldName = "CompanyAddress";
let fieldPosition2 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition2.fieldPositionType = "Linked";
fieldPosition2.linkedFieldName = "ADDRESS";
fieldPosition2.isRightLinked = true;
let size2 = new groupdocs_parser_cloud.Size();
size2.width = 100;
size2.height = 10;
fieldPosition2.searchArea = size2;
fieldPosition2.autoScale = true;
field2.fieldPosition = fieldPosition2;
let field3 = new groupdocs_parser_cloud.Field();
field3.fieldName = "Company";
let fieldPosition3 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition3.fieldPositionType = "Regex";
fieldPosition3.regex = "Company name:";
field3.fieldPosition = fieldPosition3;
let field4 = new groupdocs_parser_cloud.Field();
field4.fieldName = "CompanyName";
let fieldPosition4 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition4.fieldPositionType = "Linked";
fieldPosition4.linkedFieldName = "Company";
fieldPosition4.isRightLinked = true;
let size4 = new groupdocs_parser_cloud.Size();
size4.width = 100;
size4.height = 10;
fieldPosition4.searchArea = size4;
fieldPosition4.autoScale = true;
field4.fieldPosition = fieldPosition4;
let table = new groupdocs_parser_cloud.Table();
table.tableName = "Companies";
let detectorparams = new groupdocs_parser_cloud.DetectorParameters();
let rect = new groupdocs_parser_cloud.Rectangle();
let size = new groupdocs_parser_cloud.Size();
size.height = 60;
size.width = 480;
let position = new groupdocs_parser_cloud.Point();
position.x = 77;
position.y = 279;
rect.size = size;
rect.position = position;
detectorparams.rectangle = rect;
table.detectorParameters = detectorparams;
let fields = [field1, field2, field3, field4];
let tables = [table];
let template = new groupdocs_parser_cloud.Template();
template.fields = fields;
template.tables = tables;
return template;
Node.js의 템플릿을 사용하여 컨테이너 내부 문서 구문 분석
또한 컨테이너 내에서 사용 가능한 PDF 문서를 구문 분석하고 템플릿 개체를 사용하여 데이터를 추출할 수 있습니다. 문서를 구문 분석하여 컨테이너 내부의 스캔된 PDF에서 데이터를 추출하려면 아래에 언급된 단계를 따르십시오.
- ParseApi의 인스턴스를 만듭니다.
- 업로드된 아카이브 파일 경로를 제공하십시오.
- 템플릿을 개체로 초기화합니다.
- 컨테이너 항목을 제공합니다.
- 마지막으로 문서를 구문 분석하고 데이터를 추출합니다.
다음 코드 샘플은 REST API를 사용하여 ZIP 아카이브 내에서 PDF 문서를 구문 분석하는 방법을 보여줍니다. 앞에서 언급한 단계에 따라 파일을 업로드하고 pdf에서 정보를 추출하십시오.
// 이 코드 예제는 컨테이너 내에서 사용 가능한 PDF 문서를 구문 분석하는 방법을 보여줍니다.
// API 초기화
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);
// 입력 파일 경로
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "archive.zip";
// 구문 분석 옵션 만들기
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
// 템플릿 개체 가져오기
options.template = GetTemplate();
// 컨테이너 항목 정보
let containerItemInfo = new groupdocs_parser_cloud.ContainerItemInfo();
containerItemInfo.relativePath = "companies.pdf";
options.containerItemInfo = containerItemInfo;
// 구문 분석 요청 만들기
let request = new groupdocs_parser_cloud.ParseRequest(options);
// 요청 만들기
let response = await parseApi.parse(request);
// 디스플레이 출력
response.fieldsData.forEach(data => {
if (data.pageArea.pageTextArea != null) {
console.log("Field name: " + data.name + ". Text :" + data.pageArea.pageTextArea.text);
}
if (data.pageArea.pageTableArea != null) {
console.log("Table name: " + data.name);
data.pageArea.pageTableArea.pageTableAreaCells.forEach(cell => {
console.log("Table cell. Row " + cell.rowIndex + " column " + cell.columnIndex + ". Text: " + cell.pageArea.pageTextArea.text);
});
}
});
온라인 시도
온라인에서 PDF 데이터 추출을 위해 다음 무료 온라인 PDF 구문 분석 도구를 사용해 보십시오. 이 pdf 콘텐츠 추출기는 위의 API를 사용하여 개발되었습니다. https://products.groupdocs.app/parser/pdf
결론
이번 글에서는 클라우드에서 제공되는 템플릿에 따라 PDF 문서에서 특정 데이터를 추출하는 방법을 알아보았습니다. 템플릿 객체를 생성하거나 템플릿을 JSON 형식으로 사용하는 방법도 살펴보았습니다. 이제 PDF 스크레이퍼 API 및 무료 PDF 데이터 추출기를 사용하여 PDF에서 정보를 추출하는 방법을 알았습니다. 그 외에도 문서를 사용하여 GroupDocs.Parser Cloud API에 대해 자세히 알아볼 수 있습니다. 또한 브라우저를 통해 직접 API를 시각화하고 상호 작용할 수 있는 API 참조 섹션을 제공합니다. 모호한 점이 있는 경우 포럼에서 언제든지 문의해 주십시오.