[누적 총량 — 프로젝트 시작 ~ 2026-04-01] 소요 시간 합계 : 350분 Context 합계 : input 734k / output 58k tokens Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
documan
PDF · EPUB 문서를 Markdown으로 변환하는 도구 모음.
기능
| # | 기능 | 설명 |
|---|---|---|
| 1 | PDF 단일 변환 (이미지 포함) | marker-pdf 기반, 고품질 |
| 2 | PDF 단일 변환 (텍스트 전용) | 빠른 변환, 이미지 제외 |
| 3 | PDF 배치 변환 (이미지 포함) | input/ 폴더 전체, 순차 처리 |
| 4 | PDF 배치 변환 (텍스트 전용) | 빠른 배치 처리 |
| 5 | PDF 배치 변환 (병렬) | 멀티코어 활용 |
| 6 | EPUB 단일 변환 | ebooklib + BeautifulSoup |
| 7 | EPUB 배치 변환 | input/ 폴더 전체 |
| 8 | 이미지 추출 | PDF에서 이미지 파일만 추출 |
| 9 | Markdown 병합 | 여러 .md 파일을 하나로 통합 |
| 10 | 이미지 경로 업데이트 | Markdown 내 이미지 링크 재연결 |
설치
pip install -r requirements.txt
GPU 사용 시 PyTorch CUDA 버전을 별도 설치 권장.
사용법
대화형 메뉴
python main.py
실행하면 번호 메뉴가 표시되고, 번호를 선택해 진행.
CLI 직접 실행
# PDF 단일 변환 (이미지 포함)
python main.py 1 input/file.pdf output/
# PDF 배치 변환 (텍스트 전용, 빠름)
python main.py 4 input/ output/
# PDF 배치 병렬 변환 (워커 4개)
python main.py 5 input/ output/ 4
# EPUB 변환
python main.py 6 input/book.epub output/
# Markdown 병합
python main.py 9
Markdown 병합 단독 실행
python merge_markdown.py
output/폴더의Manual-NN.md파일들을 순서대로 병합- 이미지는
output/images/폴더로 통합, 파일명은p{NN}_Figure_X.jpeg형식으로 rename - 결과:
output/merged_all.md
특정 페이지 범위만 테스트하려면 merge_markdown.py 하단 file_range 파라미터 수정:
merge_markdown_files(
input_dir="output",
output_file="merged_test.md",
file_range=(6, 8), # 06~08 페이지만
)
폴더 구조
documan/
├── input/ # 변환할 원본 파일 (PDF, EPUB)
├── output/ # 변환 결과 (MD 파일, 이미지 폴더)
│ ├── Manual-01.md
│ ├── Manual-01_images/
│ ├── images/ # 병합 후 통합 이미지 폴더
│ └── merged_all.md # 병합 결과
├── main.py # 메인 진입점 (대화형 메뉴 + CLI)
├── merge_markdown.py # Markdown 병합 스크립트
├── convert_pdfs.py # PDF 변환
├── convert_epub.py # EPUB 변환
└── docs/
└── tutorial.md # 상세 사용법
Languages
Python
100%