# 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 내 이미지 링크 재연결 | ## 설치 ```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 # 상세 사용법 ```