minsung 17f4ab1983 docs: README 작성 및 히스토리 기록 (#1)
[누적 총량 — 프로젝트 시작 ~ 2026-04-01]
소요 시간 합계 : 350분
Context 합계   : input 734k / output 58k tokens

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 11:04:31 +09:00
2026-03-31 14:46:55 +09:00
2026-04-01 11:02:32 +09:00

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     # 상세 사용법
Description
문서 파일 변환기
Readme LGPL-3.0 78 KiB
Languages
Python 100%