PDF 파서를 고를 때 보통 첫 질문은 단순합니다. “마크다운이 얼마나 깨끗하게 나오나.” OpenDataLoader PDF는 그 질문에서 출발하지만, 실제로는 조금 다른 방향을 향합니다. 문서를 텍스트로 밀어내는 도구라기보다, PDF 안에 숨어 있는 읽는 순서와 좌표, 표 구조, 접근성 태그를 다시 세우는 파이프라인에 가깝습니다.
가장 눈에 띄는 설계는 hybrid mode의 라우팅입니다. 단순한 디지털 페이지는 빠른 local Java path로 처리하고, 표가 복잡하거나 스캔 이미지·수식·차트가 섞인 페이지는 backend로 보냅니다. 코드에는 TriageProcessor가 따로 있고, table border, vector table signal, large image ratio, line-to-text ratio, CID replacement character 같은 신호로 JAVA와 BACKEND 경로를 나눕니다. 전부 AI로 보내는 대신, 어떤 페이지가 비싼 이해를 필요로 하는지 먼저 판정하는 구조입니다.
README의 벤치마크도 이 긴장을 그대로 보여줍니다. local mode는 0.015s/page처럼 빠른 쪽에 있고, hybrid mode는 overall 0.907, table 0.928이라는 정확도 쪽에 있습니다. PDF 처리에서 속도와 정확도를 하나의 모드로 억지로 합치기보다, 페이지 단위로 비용을 배분하는 접근입니다.
출력도 단순 텍스트가 아닙니다. Markdown과 HTML 외에 JSON에는 semantic type과 bounding box가 남습니다. RAG에서는 답변의 근거가 어느 페이지의 어느 영역이었는지 연결할 수 있고, accessibility workflow에서는 같은 구조가 Tagged PDF 자동 생성으로 이어집니다. untagged PDF를 screen-reader-ready Tagged PDF로 바꾸는 기능이 Apache-2.0 코어에 들어가 있다는 점도 이 프로젝트의 중요한 차별점입니다.
물론 경계도 있습니다. PDF/UA-1·PDF/UA-2 export와 accessibility studio는 enterprise 영역이고, 복잡한 문서일수록 hybrid backend 설정과 운영 비용을 생각해야 합니다. 그래도 흥미로운 포인트는 분명합니다. OpenDataLoader PDF는 PDF를 LLM에 넣기 쉬운 텍스트로만 바꾸려는 도구가 아니라, RAG와 스크린리더가 함께 쓸 수 있는 문서 구조를 다시 만드는 쪽에 서 있습니다.