Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

pdf2md — 논문 PDF → 마크다운 변환기 🦉

👉 바로 쓰기: https://pdf2md-owl.netlify.app

논문 PDF를 AI(클로드 등)가 검색·인용검증할 수 있는 마크다운(.md)으로 바꿔주는 웹 도구입니다. 설치가 필요 없고, 변환은 100% 브라우저 안에서 이뤄집니다 — 파일이 서버로 전송되지 않습니다. 미공개 원고도 안전하게 변환할 수 있습니다. (이 저장소가 그 증거입니다: 코드 전체가 여기 공개돼 있고, 업로드 코드가 없습니다.)

왜 PDF를 MD로 바꾸나요?

PDF는 텍스트 파일이 아니라 "글자를 어느 좌표에 찍을지" 적어둔 인쇄용 도면입니다. AI에게 PDF를 그대로 주면 2단 조판이 뒤섞이고, 줄 끝에서 잘린 단어가 반토막 나고, 표가 숫자 나열로 무너집니다 — 이 추측이 환각(hallucination)의 시작입니다. MD로 바꾸면 AI가 원문을 '읽는' 게 아니라 '검색'할 수 있게 됩니다.

이 변환기가 해주는 것

  • 2단 논문의 왼쪽·오른쪽 단을 순서대로 읽기 (컬럼 거터 감지)
  • 줄 끝 하이픈 절단·리거처(ff, fi, fl …) 재결합, 곡선따옴표·대시 정규화 (검색 안정)
  • 반복 머리글·꼬리말·쪽번호 제거
  • 폰트 크기 기반 제목(#, ##, ###) 복원
  • 페이지 하단 각주(교신저자·DOI 등)를 본문에서 분리해 문서 끝에 (p.N)과 함께 모음
  • 페이지 전환 지점에 [p.N] 마커 삽입 — 문장이 원문 몇 쪽에 있는지 바로 확인 (인용검증용, 체크박스로 끄기 가능)
  • 스캔본 PDF 감지 → OCR 필요 안내 / 미리보기본 PDF(Daneshyari 등) 감지 → 경고
  • 변환 커버리지 자가 진단 (원문 대비 85% 미만이면 누락 의심 경고)
  • 다중 파일 일괄 변환 + ZIP 다운로드

한계

완벽한 조판 복원이 목적이 아니라, AI가 검색할 수 있는 텍스트 확보가 목적입니다. 복잡한 표·수식은 불완전할 수 있고, 스캔본(이미지) PDF는 변환되지 않습니다.

⚠️ 자동 변환에는 오류가 있을 수 있습니다. 인용·수치 등 중요한 내용은 반드시 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 · 홈페이지

License

MIT (번들된 pdf.js는 Apache-2.0, JSZip은 MIT — 각 원 라이선스를 따릅니다)

About

논문 PDF를 AI가 검색 가능한 마크다운으로 — 100% 브라우저 변환, 서버 전송 없음. https://pdf2md-owl.netlify.app

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages