94 lines
2.5 KiB
Markdown
94 lines
2.5 KiB
Markdown
# 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 # 상세 사용법
|
|
```
|