ArticleJacob Nulty·2026년 7월 7일·0

How do you convert PDF files to JSON? (2026)

Quick Summary

PDF를 기계가 활용할 수 있는 JSON으로 바꾸는 이유와 OCR·구조 보존의 난점을 설명하고, 동일한 플라톤 『크리톤』 PDF를 기준으로 다섯 도구의 용도를 제시한 뒤 제공된 본문 범위에서 네 라이브러리의 출력 특성을 비교한다.

How do you convert PDF files to JSON? (2026) 관련 대표 이미지

🖼️ 인포그래픽

How do you convert PDF files to JSON? (2026) 내용을 설명하는 본문 이미지

🖼️ 4컷 인포그래픽

How do you convert PDF files to JSON? (2026) 내용을 설명하는 본문 이미지

💡 한 줄 요약

PDF를 기계가 활용할 수 있는 JSON으로 바꾸는 이유와 OCR·구조 보존의 난점을 설명하고, 동일한 플라톤 『크리톤』 PDF를 기준으로 다섯 도구의 용도를 제시한 뒤 제공된 본문 범위에서 네 라이브러리의 출력 특성을 비교한다.

📌 핵심 요약

  • PDF는 자유 형식의 이진 문서라서 필드와 스키마가 기본적으로 없지만, JSON으로 변환하면 문서 정보를 프로그램·REST API·MCP 서버·검색 증강 생성 파이프라인에서 호출하고 처리할 수 있다.
  • 전통적인 문서 파싱은 오래된 문서, 손글씨, 닳은 잉크, 특이한 타자기 글꼴, 비뚤어진 스캔, 표·그림·다단 편집이 섞인 문서에서 OCR 오류나 구조 손실을 일으키기 쉽다.
  • 본문이 인용한 2025년 연구에 따르면 최첨단 언어 모델도 결과가 일관되지 않을 수 있으며, 학술 논문은 표·레이아웃·그림·자유 텍스트가 혼재해 특히 파싱하기 어렵다.
  • 비교에는 OCR이 비교적 깔끔한 14쪽짜리 1902년판 플라톤 『크리톤』이 공통 입력으로 사용되어, 각 도구의 출력 구조와 메타데이터를 직접 대조할 수 있게 했다.
  • Docling은 원문과 추출문 비교 및 위치 정보를, PyMuPDF는 상세한 서체·레이아웃 정보를, pdf2json은 텍스트 실행 단위의 저수준 위치 정보를, pdf-parse는 평면 텍스트와 풍부한 문서 메타데이터를 제공한다.

🧩 주요 포인트

  1. 형식 변환의 핵심은 PDF에서 글자를 꺼내는 데 그치지 않고, 프로그램이 안정적으로 조회할 수 있는 구조와 필드로 재구성하는 데 있다.
  2. 높은 문자 인식률이 문서 구조의 정확한 복원을 보장하지 않으므로, 텍스트 정확도와 레이아웃·관계 보존도를 별도의 평가 축으로 봐야 한다.
  3. 도구별 출력 강점이 다르기 때문에 OCR 검증, 서체·좌표 분석, 양식 제어, 출처 메타데이터 확인, 인공지능용 의미 구조화 중 실제 후속 목적에 맞춰 선택해야 한다.

🧠 상세 정리

1. PDF 지식 자산과 변환의 필요성

글은 현대 인터넷을 동적 HTML 페이지와 단일 페이지 애플리케이션 중심으로 떠올리기 쉽지만, 실제 지식의 상당 부분은 PDF 같은 문서 형식에 저장되어 있다고 설명한다. 초기 인터넷에서는 작은 자료가 직접 작성한 HTML로 제공된 반면, 큰 문서는 별도 형식으로 보관되는 경우가 많았고 PDF가 그 대표적인 수단이었다. 전기요금 고지서, 세금 양식, 역사 문헌, 학술 논문처럼 중요한 정보가 PDF에 집중되어 있지만, 이 형식은 현대 소프트웨어가 바로 해석하거나 조회하기에는 친화적이지 않다. 따라서 PDF의 내용과 무결성을 훼손하지 않으면서 JSON으로 옮기는 작업은 고지서를 기계가 읽게 하고, 오래된 문헌을 언어 모델이 질의할 수 있게 만드는 기반이 된다.

2. JSON의 구조와 PDF의 비정형성

JSON은 키와 값으로 정보를 저장하고 각 객체에 스키마를 부여할 수 있어, 특정 프로그래밍 언어에 종속되지 않는 현대 인터넷의 보편적인 데이터 형식으로 설명된다. REST API의 다수가 JSON을 반환하고 MCP 서버도 JSON을 반환할 뿐 아니라 제어에 사용하며, 이런 호환성 때문에 검색 증강 생성 파이프라인에도 적합하다. 사람은 이름·나이·직업이 가까이 적혀 있으면 한 사람의 정보로 이해하지만, 결정론적 소프트웨어에는 서로 관련이 불명확한 텍스트 조각일 뿐이다. 이를 이름, 나이, 직업이라는 명시적인 필드로 만들면 프로그램이 특정 키를 호출해 원하는 값을 안정적으로 가져올 수 있다. 반면 PDF는 이런 선행 구조를 거의 상속하지 않고 자유 텍스트와 이진 형식에 기반하므로, 변환 과정에서 내용뿐 아니라 암묵적인 관계까지 재구성해야 한다.

3. OCR이 실패하는 실제 조건

전통적인 문서 파싱의 주요 실패 지점은 광학 문자 인식 과정이며, 특히 과거의 물리 문서를 스캔한 자료에서 문제가 두드러진다. 최근에 인쇄된 깨끗한 문서는 상용 OCR로도 대체로 무리 없이 처리되지만, 오래된 문서나 서로 다른 형식이 섞인 문서에서는 난도가 급격히 올라간다. 손글씨, 닳거나 흐려진 잉크, 생소한 타자기 글꼴, 정렬이 어긋난 페이지는 각각 문자 인식 오류를 유발할 수 있다. 전기요금 고지서처럼 항목별 표와 정책 변경을 설명하는 문단이 함께 있는 문서도 단순한 텍스트 추출만으로는 원래 구성을 보존하기 어렵다. 글은 한편으로 인공지능 기반 기술이 베수비오산의 탄화 두루마리처럼 PDF보다 훨씬 어려운 자료에도 적용되어, 실제로 펼치지 않고 헤르쿨라네움 두루마리를 가상으로 해독한 사례가 있다고 덧붙인다.

4. 파서 평가에서 드러난 정확도와 구조의 차이

본문이 소개한 2025년 연구에서는 최첨단 언어 모델을 사용해도 파싱 품질이 달라지고 결과의 일관성이 일반적인 우려로 남는다고 정리한다. 특화 도구인 LlamaParse는 여러 접근 사이에서 적절한 균형점을 보이는 경향이 있었으며, 문서 유형별로는 법률 계약서가 가장 쉽고 학술 논문이 가장 어려웠다. 학술 논문은 표, 복잡한 레이아웃, 그림, 자유 텍스트가 한 문서 안에 공존하기 때문에 거의 모든 파서에 부담을 준다. 또한 파서가 문자 자체는 높은 정확도로 추출하면서도 제목·단락·표와 같은 문서 구조를 완전히 놓칠 수 있다는 점이 강조된다. 오픈소스 파서는 견고성에서 최첨단 언어 모델과 비슷하거나 더 높은 점수를 얻기도 했지만, 원문과 추출문 사이의 편집 유사도에서는 더 낮은 결과를 보일 수 있었다.

5. 공통 시험 문서와 비교 기준

도구 간 결과를 직접 비교하기 위해 글은 인터넷 아카이브에서 구할 수 있는 1902년판 플라톤 『크리톤』을 모든 라이브러리에 동일하게 입력한다. 이 파일은 14쪽이며 OCR 상태가 깔끔해 통제된 비교 자료로 쓸 수 있으면서도, 오래된 문헌을 처리하는 현실적인 난도를 어느 정도 유지한다. 요약 표는 Docling을 원문과 추출문 및 좌표 비교에, PyMuPDF를 서체와 레이아웃 검사에, pdf2json을 양식 필드 감지와 저수준 위치 제어에 적합한 도구로 구분한다. pdf-parse는 평면 텍스트와 풍부한 메타데이터를 제공해 문서 출처 확인과 단순 추출에 적합하며, Firecrawl은 화자나 필드 수준의 의미적 스키마를 제공해 즉시 사용할 구조화 데이터가 필요한 인공지능 작업에 적합하다고 표에 제시된다. 다만 제공된 본문은 pdf-parse의 출력 예시 도중 끝나므로, Firecrawl의 구체적인 실행 코드나 실제 출력 비교는 이 범위에 포함되어 있지 않다.

6. Docling의 원문 대조형 위치 JSON

Docling은 텍스트, 표, 오디오를 포함한 여러 데이터 형식을 입력받고 JSON, 마크다운, HTML 중 원하는 형식으로 내보낼 수 있는 도구로 소개된다. 사용 과정은 DocumentConverter 인스턴스를 만들고 문서를 변환한 뒤, export_to_dict 메서드로 결과를 사전 구조로 내보내 JSON 파일에 기록하는 방식이다. 출력에는 페이지 번호, 바운딩 박스, 좌표 원점, 문자 범위와 같은 출처 위치 정보가 포함되어 특정 텍스트가 원문 어디에서 왔는지 추적할 수 있다. 특히 orig 필드에는 원래 텍스트가, text 필드에는 추출된 텍스트가 함께 들어가므로 두 값을 직접 비교할 수 있다. 이러한 구조 때문에 Docling은 단순 내용 수집보다 OCR 결과의 품질을 분석하거나 원문과 추출문의 차이를 검사해야 하는 작업에서 유용하다.

7. PyMuPDF의 레이아웃·서체 중심 출력

PyMuPDF는 MuPDF의 파이썬 바인딩이며, 다른 언어 모델 지향 파서들이 기반 엔진으로 활용하는 도구로 설명된다. 각 페이지에서 get_text 메서드의 JSON 출력을 요청하면 텍스트 블록, 줄, 글자 실행 단위가 페이지별 JSON 문자열로 반환되고, 이를 파싱해 전체 페이지 목록으로 저장할 수 있다. 각 실행 단위에는 텍스트와 바운딩 박스뿐 아니라 글꼴 이름, 글자 크기, 색상, 투명도, 시작 좌표, 양방향 텍스트 및 문자 관련 플래그가 포함된다. 『크리톤』의 마지막 문장 예시에서도 사용된 글꼴과 12포인트 크기, 원점 좌표, 정확한 영역 좌표가 함께 추출됐다. 설치와 사용 절차가 비교적 간단하면서도 상세한 위치·서체 정보를 제공하므로, 문서의 레이아웃과 타이포그래피를 조사하려는 경우에 적합하다.

8. pdf2json의 저수준 텍스트 조각 구조

자바스크립트 도구 중 pdf2json은 이름 그대로 PDF를 JSON으로 변환하는 작업에 특화된 라이브러리다. PDFParser 객체를 만든 뒤 오류와 데이터 준비 이벤트에 처리기를 연결하고, loadPDF 메서드로 문서를 읽으면 준비된 결과를 JSON 파일로 기록할 수 있다. 출력은 문서 메타데이터를 중심으로 한 큰 객체 안에 개별 텍스트 조각이 깊게 중첩된 형태이며, 각 조각에는 가로·세로 위치, 폭, 색상, 정렬, 스타일 관련 값이 붙는다. 예시의 한 문장도 완성된 문단 객체가 아니라 위치 정보와 서식 배열을 가진 텍스트 실행 단위로 표현된다. 결과가 파편화되어 있어 곧바로 의미적 데이터로 쓰기보다는 양식 필드를 감지하거나 PDF의 세부 배치를 직접 통제하려는 저수준 처리에 더 알맞다.

9. pdf-parse의 평면 텍스트와 메타데이터

pdf-parse는 JSON 변환만을 위해 만들어진 도구가 아니라 범용 PDF 파싱 라이브러리이며, PDFParse 객체에서 텍스트와 문서 정보를 각각 비동기로 가져오는 방식으로 사용된다. 추출이 끝난 뒤에는 destroy 메서드를 호출해 파서 객체를 직접 메모리에서 정리하고, 텍스트와 메타데이터를 하나의 객체로 묶어 JSON 파일에 기록한다. 다른 도구와 달리 줄마다 정돈된 객체나 세밀한 구조를 제공하지 않고 『크리톤』 전체를 하나의 긴 텍스트 덩어리로 반환해, 본문 표현은 비교 대상 중 가장 거친 것으로 평가된다. 반면 PDF 형식 버전, 언어, 암호화 여부, 양식·서명 존재 여부 같은 메타데이터가 풍부하며, 원본 제작 소프트웨어가 Microsoft Office Word 2007이라는 사실까지 식별했다. 따라서 구조화된 본문이나 위치 분석보다 문서의 출처와 속성을 조사하거나 간단히 전체 텍스트를 얻는 목적에 강점이 있다.

🧾 핵심 주장 / 시사점

  • 문자열이 정확하게 추출됐다는 사실과 제목·문단·표·좌표 같은 문서 구조가 정확하게 복원됐다는 사실은 동일하지 않으므로, 두 품질을 분리해 검증해야 한다.
  • 좌표와 서체 메타데이터가 풍부한 출력은 원문 추적과 레이아웃 분석에는 유리하지만, 응용 프로그램에서 바로 쓸 의미적 필드가 필요하다면 추가적인 구조화 단계가 요구된다.
  • 단일 최우수 파서를 찾기보다 원문 대조, 타이포그래피 검사, 양식 제어, 문서 출처 확인, 의미적 데이터 활용 가운데 우선순위를 정한 뒤 출력 형태가 맞는 도구를 선택하는 것이 합리적이다.

✅ 액션 아이템

  • PDF→JSON 변환 목표를 프로그램·REST API·MCP·검색 증강 생성 호출에 맞는 조회 가능한 구조·필드 재구성으로 정의한다.
  • 평가 시 문자 인식률과 레이아웃·관계 보존도를 분리해, 표·그림·다단·오래된 스캔 문서에서 구조 손실 여부를 점검한다.
  • 후속 목적(OCR 검증, 서체·좌표 분석, 출처 메타데이터, 의미 구조화)에 맞춰 Docling·PyMuPDF·pdf2json·pdf-parse 출력 강점을 비교해 선택한다.

❓ 열린 질문

  • 『크리톤』처럼 OCR이 비교적 깔끔한 입력 말고, 손글씨·비뚤어진 스캔·학술 논문 혼재 레이아웃에서도 동일 비교가 성립하는가?
  • 최첨단 언어 모델 결과의 비일관성을 줄이려면 텍스트 정확도와 구조 보존 중 어떤 기준을 우선할 것인가?
  • 인공지능용 의미 구조화가 필요할 때 Docling의 위치 정보와 pdf-parse의 메타데이터 중 어느 조합이 더 적합한가?

관련 문서

공통 태그와 주제 흐름을 기준으로 같이 보면 좋은 문서를 이어서 제안합니다.