결과 구조 이해
파싱 결과는 문서를 블록(Block) 단위로 분리하여 배열로 반환합니다. 각 블록은 콘텐츠 유형(block_type), 위치 정보(polygon, bbox), 내용(html)을 포함합니다.
응답 예시
[
{
"id": "/page/1/heading/1",
"block_type": "heading",
"html": "# 퇴직연금 급여 신청서",
"page": 1,
"polygon": [
[0.050, 0.055],
[0.372, 0.055],
[0.372, 0.081],
[0.050, 0.081]
],
"bbox": [0.050, 0.055, 0.372, 0.081]
},
{
"id": "/page/1/table/2",
"block_type": "table",
"html": "<table>\n <tr>\n <td>담당자</td>\n <td>책임자</td>\n </tr>\n</table>",
"page": 1,
"polygon": [
[0.804, 0.104],
[0.924, 0.104],
[0.924, 0.152],
[0.804, 0.152]
],
"bbox": [0.804, 0.104, 0.924, 0.152]
},
{
"id": "/page/1/text/3",
"block_type": "text",
"html": "위 사실이 틀림 없음을 확인합니다.",
"page": 1,
"polygon": [
[0.080, 0.574],
[0.741, 0.574],
[0.741, 0.587],
[0.080, 0.587]
],
"bbox": [0.080, 0.574, 0.741, 0.587]
},
{
"id": "/page/1/image/4",
"block_type": "image",
"html": "",
"page": 1,
"polygon": [
[0.800, 0.937],
[0.908, 0.937],
[0.908, 0.958],
[0.800, 0.958]
],
"bbox": [0.800, 0.937, 0.908, 0.958]
}
]
필드 설명
| 필드 | 타입 | 설명 |
|---|---|---|
id | string | 블록 고유 ID (/page/{페이지번호}/{block_type}/{순번}) |
block_type | string | 블록 유형 (heading, text, table, image 등) |
html | string | 블록 내용 (HTML 형식) |
page | number | 블록이 위치한 페이지 번호 (1부터 시작) |
polygon | array | 블록 영역의 꼭짓점 좌표 배열 — 좌상→우상→우하→좌하 순서, 0~1 정규화 값 |
bbox | array | 블록 영역의 경계 좌표 — [x1, y1, x2, y2] 형식, 0~1 정규화 값 |
block_type 종류
| 값 | 설명 | html 형식 |
|---|---|---|
heading | 제목 | # 제목텍스트 |
text | 본문 텍스트 | 일반 문자열 |
table | 표 | <table>...</table> |
image | 이미지 |  — 별도 API로 파일 다운로드 가능 |
현재 확인된
block_type값은 위 4가지입니다. 추가 유형은 업데이트 예정입니다.
image블록의 파일 다운로드 방법은 추후 업데이트 예정입니다.
좌표 이해하기
polygon과 bbox는 모두 0~1 사이의 정규화된 상대 좌표를 사용합니다. 실제 픽셀 좌표가 필요한 경우 원본 이미지의 너비·높이를 곱하여 계산합니다.
좌표 계산 공식
실제 x 좌표 = polygon[n][0] × 이미지 너비(px)
실제 y 좌표 = polygon[n][1] × 이미지 높이(px)
| 필드 | 형식 | 설명 |
|---|---|---|
polygon | [[x1,y1],[x2,y2],[x3,y3],[x4,y4]] | 블록의 4개 꼭짓점 좌표 (좌상→우상→우하→좌하) |
bbox | [x1, y1, x2, y2] | 좌상단·우하단 두 점으로 표현한 경계 상자 |