fanqienovel-downloader 출력 포맷 완벽 가이드: EPUB, HTML, LaTeX 설정 방법

fanqienovel-downloader는 강력한 팬퀴노벨 다운로드 도구로, 소설 콘텐츠를 가져올 뿐만 아니라 EPUB, HTML, LaTeX 등 다양한 형식으로 변환하여 사용자에게 폭넓은 독서 및 활용 경험을 제공합니다.

1. 형식 변환 핵심 기능 개요

fanqienovel-downloader는 5가지 주요 저장 모드를 제공하며, 그중 EPUB, HTML, LaTeX는 세 가지 고급 형식입니다. 각 형식은 특성에 따라 적합한 사용 사례가 다릅니다:

  • EPUB: 전자책 리더에서 최적화된 레이아웃과 챕터 구조를 지원합니다.
  • HTML: 브라우저에서 바로 열 수 있어 온라인 읽기와 공유에 편리합니다.
  • LaTeX: 전문적인 조판이나 인쇄 작업에 적합합니다.

도구에서 이러한 형식은 save_mode 파라미터로 설정하며, 해당 숫자는 각각 3(EPUB), 4(HTML), 5(LaTeX)입니다.

2. 빠른 시작: 기본 변환 절차

2.1 출력 형식 선택

소설 다운로드 시 도구는 저장 형식 선택을 요청합니다. 예시는 다음과 같습니다:

선택하세요 : 1. 단일 텍스트 저장 2. 장별 저장 3. EPUB 저장 4. HTML 웹 형식 저장 5. LaTeX 저장

원하는 형식 번호(3, 4, 5)를 입력하면 됩니다.

2.2 저장 경로 설정

변환된 파일은 기본적으로 설정 파일에 지정된 경로에 저장됩니다. save_path 파라미터를 수정하여 사용자 정의 경로로 변경할 수 있습니다:

# 설정 파일의 경로 설정
config['save_path'] = '/your/custom/path'

지정하지 않으면 프로그램 디렉터리가 기본 경로로 사용됩니다.

3. EPUB 형식 상세 설정

3.1 EPUB 기본 설정

EPUB은 가장 흔한 전자책 형식 중 하나이며, fanqienovel-downloader는 이를 완전히 지원합니다. save_mode=3으로 설정하면 도구가 자동으로 구조화된 EPUB 파일을 생성합니다:

# EPUB 생성 핵심 코드
output_path = os.path.join(config['save_path'], f'{safe_name}.epub')
epub.write_epub(output_path, book, {})

3.2 콘텐츠 형식 사용자 정의

도구는 자동으로 장 콘텐츠를 포맷팅하여 적절한 HTML 태그를 추가합니다:

# EPUB 콘텐츠 포맷팅
formatted_content = ''.join(f'<p>{para.strip()}</p>' for para in content.split('\n') if para.strip())
chapter.content = f'<h1>{title}</h1>{formatted_content}'

스타일을 변경하려면 관련 HTML 생성 코드를 수정하고 사용자 CSS를 추가하면 됩니다.

4. HTML 형식 고급 구성

4.1 HTML 출력 구조

HTML 형식(save_mode=4)은 인덱스 페이지와 각 장의 개별 페이지를 포함한 웹 페이지 모음을 생성합니다:

# HTML 디렉터리 생성
output_dir = os.path.join(self.config.save_path, name)
os.makedirs(output_dir, exist_ok=True)

4.2 스타일 사용자 정의

HTML 출력은 CSS 스타일 사용자 정의를 지원하며, 관련 코드는 _create_html_index 메서드에 있습니다:

# HTML 스타일 구성
def _create_html_index(self, name: str, titles: List[str], output_dir: str) -> None:
    """CSS 스타일링으로 HTML 인덱스 페이지 생성"""
    # CSS 스타일 정의 및 HTML 구조 생성 코드

사용자는 CSS 부분을 수정하여 외관을 변경할 수 있습니다.

5. LaTeX 형식 전문 설정

5.1 LaTeX 문서 구조

LaTeX 형식(save_mode=5)은 고품질 조판에 적합합니다. 도구는 장 구분과 콘텐츠 포맷팅을 포함한 완전한 LaTeX 문서 구조를 생성합니다:

# LaTeX 콘텐츠 포맷팅
def _format_latex_chapter(self, title: str, content: str) -> str:
    # LaTeX 장 포맷팅 코드

5.2 출력 구성

LaTeX 파일 생성 후 사용자는 LaTeX 컴파일러(pdflatex 등)를 사용해 PDF로 변환해야 합니다. 도구는 기본 LaTeX 구조를 제공하며, 사용자는 필요한 패키지와 형식 설정을 추가할 수 있습니다.

6. 구성 파일 세부 사항

6.1 구성 파일 위치

구성 파일(config.json)은 일반적으로 프로그램 데이터 디렉터리에 있으며, 다음 코드로 경로를 얻을 수 있습니다:

self.config_path = os.path.join(self.data_dir, 'config.json')

6.2 형식 관련 설정 항목

주요 구성 옵션은 다음과 같습니다:

  • save_mode: 기본 저장 모드 설정 (3=EPUB, 4=HTML, 5=LaTeX)
  • save_path: 기본 저장 경로 설정
  • enable_chapter_numbering: 장 번호 매기기 활성화 여부

기본 구성 예시:

{
  "save_mode": 1,
  "save_path": "",
  "enable_chapter_numbering": false
}

7. 일반적인 문제 해결

7.1 형식 변환 실패

변환 실패 시 먼저 구성 파일의 완전성을 확인하세요. 도구는 구성 확인 기능을 제공합니다:

# 구성 확인
def perform_check(self, config_path, config):
    checks = [
        (self.check_config_file(config_path), "구성 파일 확인"),
        (self.check_config_format(config), "구성 형식 확인"),
        # 기타 확인...
    ]

7.2 출력 파일 깨짐

출력 파일이 깨질 경우 인코딩 문제일 가능성이 높습니다. 파일 쓰기 시 UTF-8을 사용하세요:

# UTF-8 인코딩으로 파일 저장
with open(output_path, 'w', encoding='UTF-8') as f:
    f.write(content)

8. 고급 팁: 일괄 형식 변환

여러 소설을 일괄 변환하려면 구성 파일의 save_mode 파라미터를 수정하거나 코드에서 기본 저장 모드를 설정하세요:

# 기본 저장 모드를 EPUB으로 설정
config['save_mode'] = 3

이렇게 하면 이후 다운로드 시 매번 선택할 필요 없이 설정된 형식이 자동으로 적용됩니다.

태그: fanqienovel-downloader EPUB HTML LaTeX python

8월 8일 14:00에 게시됨