👉 바로 쓰기: https://pdf2md-owl.netlify.app
논문 PDF를 AI(클로드 등)가 검색·인용검증할 수 있는 마크다운(.md)으로 바꿔주는 웹 도구입니다. 설치가 필요 없고, 변환은 100% 브라우저 안에서 이뤄집니다 — 파일이 서버로 전송되지 않습니다. 미공개 원고도 안전하게 변환할 수 있습니다. (이 저장소가 그 증거입니다: 코드 전체가 여기 공개돼 있고, 업로드 코드가 없습니다.)
PDF는 텍스트 파일이 아니라 "글자를 어느 좌표에 찍을지" 적어둔 인쇄용 도면입니다. AI에게 PDF를 그대로 주면 2단 조판이 뒤섞이고, 줄 끝에서 잘린 단어가 반토막 나고, 표가 숫자 나열로 무너집니다 — 이 추측이 환각(hallucination)의 시작입니다. MD로 바꾸면 AI가 원문을 '읽는' 게 아니라 '검색'할 수 있게 됩니다.
- 2단 논문의 왼쪽·오른쪽 단을 순서대로 읽기 (컬럼 거터 감지)
- 줄 끝 하이픈 절단·리거처(ff, fi, fl …) 재결합, 곡선따옴표·대시 정규화 (검색 안정)
- 반복 머리글·꼬리말·쪽번호 제거
- 폰트 크기 기반 제목(
#,##,###) 복원 - 페이지 하단 각주(교신저자·DOI 등)를 본문에서 분리해 문서 끝에
(p.N)과 함께 모음 - 페이지 전환 지점에
[p.N]마커 삽입 — 문장이 원문 몇 쪽에 있는지 바로 확인 (인용검증용, 체크박스로 끄기 가능) - 스캔본 PDF 감지 → OCR 필요 안내 / 미리보기본 PDF(Daneshyari 등) 감지 → 경고
- 변환 커버리지 자가 진단 (원문 대비 85% 미만이면 누락 의심 경고)
- 다중 파일 일괄 변환 + ZIP 다운로드
완벽한 조판 복원이 목적이 아니라, AI가 검색할 수 있는 텍스트 확보가 목적입니다. 복잡한 표·수식은 불완전할 수 있고, 스캔본(이미지) PDF는 변환되지 않습니다.
verbatim-only 원칙: 엔진은 원문에 없는 텍스트를 절대 생성·추측하지 않습니다 (허용 변형: 공백 삽입·하이픈 재결합·1:1 문자 정규화·재배열·머리글 삭제뿐). 매 변환마다 verifyFidelity()가 출력의 모든 단어가 원문에 실재하는지 자가검증하고, 위반이 감지되면 빨간 경고를 띄웁니다.
site/
index.html # UI (드래그앤드롭·경고·미리보기·ZIP)
engine.js # 변환 엔진 SSOT — 웹과 로컬 스킬(문서-PDF-마크다운변환)이 공유
pdf.min.js # Mozilla pdf.js 3.11.174 (Apache-2.0)
pdf.worker.min.js
jszip.min.js # JSZip 3.10.1 (MIT)
owl_think.png # 부엉이 마스코트
정적 호스팅(Netlify, GitHub Pages 등) 어디에나 site/ 폴더를 올리면 그대로 동작합니다.
변환 로직은 전부 engine.js에 있어서, Playwright 같은 헤드리스 브라우저로 index.html을
열면 CLI/스크립트에서 일괄 변환 자동화도 가능합니다.
고민환 교수 — Threads @textmining_kr · 홈페이지
MIT (번들된 pdf.js는 Apache-2.0, JSZip은 MIT — 각 원 라이선스를 따릅니다)