diff --git a/README.md b/README.md index bea18a5..b7cf897 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,93 @@ # documan -문서 파일 변환기 \ No newline at end of file +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 내 이미지 링크 재연결 | + +## 설치 + +```bash +pip install -r requirements.txt +``` + +> GPU 사용 시 PyTorch CUDA 버전을 별도 설치 권장. + +## 사용법 + +### 대화형 메뉴 + +```bash +python main.py +``` + +실행하면 번호 메뉴가 표시되고, 번호를 선택해 진행. + +### CLI 직접 실행 + +```bash +# 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 병합 단독 실행 + +```bash +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` 파라미터 수정: + +```python +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 # 상세 사용법 +```