파일로 소설 추가
이미 가지고 있는 TXT 또는 EPUB 파일을 불러와서 소설을 추가하는 방법입니다.
지원 파일 형식
| 형식 | 확장자 | 특징 |
|---|---|---|
| 텍스트 | .txt | 단순 텍스트, 회차 분리 필요 |
| EPUB | .epub | 전자책 표준, 챕터 구조 자동 인식 |
추가 단계
1단계: EPUB 탭 선택
라이브러리에서 + 버튼을 클릭한 후, 상단 탭 바에서 EPUB 탭(파일 아이콘)을 선택합니다.
탭 선택 시 화면 구성:
- 상단: EPUB 가져오기 안내 카드 (surfaceVariant 배경)
- 중앙: “EPUB 선택” 버튼
- 하단: “가져오기” 버튼
2단계: 파일 선택
“EPUB 선택” 버튼(OutlinedButton, 파일 아이콘 포함)을 클릭하여 파일을 선택합니다. 시스템 파일 탐색기가 열리며 EPUB 파일을 선택할 수 있습니다.
팁: 텍스트(TXT) 파일은 “텍스트” 탭에서 가져올 수 있습니다.
TXT 파일 처리
TXT 파일은 “텍스트” 탭에서 처리됩니다. 라이브러리에서 + 버튼 클릭 후 텍스트 탭을 선택합니다.
입력 모드 선택
화면 상단에 두 개의 FilterChip이 표시됩니다:
- 파일 불러오기: TXT 파일을 선택하여 가져오기
- 직접 입력: 텍스트를 직접 붙여넣기
회차 분리
TXT 파일은 하나의 긴 텍스트이므로 회차로 분리해야 합니다. 파일 선택 후 “분리 패턴” 드롭다운(ExposedDropdownMenuBox)에서 패턴을 선택합니다.
분리 방식
| 방식 | 설명 | 예시 |
|---|---|---|
| 자동 감지 | 패턴을 자동으로 분석하여 분리 | - |
| 제목 패턴 | 정규식으로 회차 제목 패턴 지정 | 제\d+장, Chapter \d+ |
| 구분선 | 특정 구분 문자열로 분리 | ===, --- |
| 줄 수 | 일정 줄 수마다 분리 | 500줄마다 |
| 커스텀 | 직접 구분자 또는 정규식 입력 | 사용자 지정 |
커스텀 패턴 설정
“커스텀” 선택 시 추가 입력 카드가 표시됩니다:
- 패턴 입력 필드: 구분자 또는 정규식 입력
- 정규식 모드 체크박스: 정규식 사용 여부
- AI 분석 버튼: AI가 텍스트를 분석하여 패턴 제안
AI 패턴 분석
“AI 분석” 버튼(AutoAwesome 아이콘)을 클릭하면 AI가 텍스트를 분석하여 적합한 분리 패턴을 제안합니다. 분석 결과 다이얼로그에서:
- 제안된 패턴 목록 (설명, 정규식, 예상 회차 수)
- RadioButton으로 패턴 선택
- “적용” 버튼으로 선택한 패턴 적용
예시 패턴:
^제\s*\d+\s*장- “제1장”, “제 2 장” 등^Chapter\s+\d+- “Chapter 1”, “Chapter 25” 등^={3,}$- “===” 구분선
EPUB 파일 처리
EPUB 파일은 챕터 구조가 이미 정의되어 있습니다.
자동 인식
- 파일 선택 시 자동으로 챕터 분석
- 목차(TOC) 기반으로 회차 분리
- 각 챕터의 제목과 내용 추출
파일 선택 카드
파일 선택 후 primaryContainer 배경의 카드가 표시됩니다:
- 파일 아이콘 (FileOpen)
- 파일명: 선택된 파일 이름
- 포맷: “EPUB” 표시
- Clear 버튼: 파일 선택 취소 (또는 로딩 중이면 로딩 인디케이터)
미리보기 카드
파싱 완료 후 surfaceVariant 배경의 카드에 다음 정보가 표시됩니다:
- 제목: 소설 제목 (headlineSmall 스타일)
- 작가: “작가: [이름]” 형식
- 회차 수: Primary 색상으로 강조
- 텍스트 유형: 원문/번역문/둘 다
- 회차 미리보기: 처음 3개 회차의 제목과 본문 미리보기
소설 정보 입력
메타데이터
EPUB 파일의 경우 메타데이터가 자동으로 추출됩니다:
- 제목: EPUB 메타데이터에서 추출
- 작가: EPUB 메타데이터에서 추출 (있는 경우)
TXT 파일의 경우 (직접 입력 모드):
- 제목 입력 필드 (필수): “소설 제목 (필수)”
- 작가 입력 필드 (선택): “작가명 (선택)”
- 본문 입력 필드 (필수): 8~15줄 크기의 멀티라인 입력
EPUB: 파일에 메타데이터가 있으면 미리보기 카드에 자동으로 표시됩니다.
미리보기
저장 전에 분리된 회차를 미리볼 수 있습니다.
회차 분리 결과 카드
TXT 파일 패턴 선택 후 surfaceVariant 배경 카드에 표시됩니다:
- 제목: “분리 결과”
- 전체 보기 버튼: Fullscreen 아이콘 (전체 화면 미리보기 다이얼로그 열기)
- 총 회차 수 / 평균 길이: 분리 통계
- 회차 미리보기: 처음 몇 개 회차의 내용 미리보기 (클릭으로 전체 보기)
전체 미리보기 다이얼로그
전체 화면 다이얼로그로 회차별 내용을 확인할 수 있습니다:
- 상단 바: “텍스트 미리보기” 제목과 뒤로가기 버튼
- 회차 네비게이션: 좌우 화살표로 이전/다음 회차 이동
- 회차 정보: 회차 번호/제목, 현재 위치 (예: “3 / 25”)
- 본문 영역: 스크롤 가능한 회차 내용
확인 사항
- 회차 수가 예상과 맞는지
- 각 회차의 제목이 올바른지
- 첫 번째/마지막 회차 내용이 정상인지
저장
모든 설정을 확인했다면 화면 하단의 “가져오기” 버튼(전체 너비 Button)을 클릭합니다.
가져오기 진행
버튼 클릭 시:
- 버튼 텍스트가 “가져오는 중…“으로 변경되고 로딩 인디케이터 표시
- 진행률 카드가 나타나며 상태 메시지 표시:
- “파싱 중…”
- “회차 처리 중 (N/전체)”
- “저장 중…”
- “완료”
- 진행률 바(LinearProgressIndicator)로 진행 상황 표시
인코딩 문제
TXT 파일이 깨져서 표시되는 경우, 인코딩 문제일 수 있습니다.
해결 방법
원본 파일을 UTF-8로 저장하여 다시 가져오세요.
일반적인 인코딩:
- UTF-8 (권장)
- EUC-KR (한국어 레거시)
- Shift-JIS (일본어)
- GB2312 (중국어 간체)
- Big5 (중국어 번체)
대용량 파일
대용량 파일은 처리에 시간이 걸릴 수 있습니다.
권장 사항
- 10MB 이하 파일 권장
- 매우 큰 파일은 미리 분할하여 추가
- 처리 중 앱을 닫지 마세요
문제 해결
“파일을 읽을 수 없습니다”
- 파일이 손상되지 않았는지 확인
- 지원되는 형식(TXT/EPUB)인지 확인
- 파일 권한 확인
텍스트가 깨져서 표시됨
- 인코딩 설정 변경
- 파일을 UTF-8로 재저장
회차가 제대로 분리되지 않음
- 수동 패턴 설정 사용
- 패턴을 더 구체적으로 지정
EPUB 챕터가 누락됨
- EPUB 파일의 목차(TOC) 구조 확인
- 목차가 없는 EPUB은 분리가 어려울 수 있음
| ← URL로 소설 추가 | 다음: 텍스트 직접 입력 → |