EPUB 파일의 구조 및 요소별 기능

EPUB 파일은 여러개의 파일이 ZIP으로 압축된 패키지 파일입니다. 이 패키지 파일에는 여러개의 파일이 존재하는데 OCF에서 기본 구조를 정의하고 있습니다. EPUB파일의 확장자를 ‘.zip’으로 수정한 후 압축프로그램으로 열면 아래와 같은 구조를 확인할 수 있습니다. 

EPUB파일 안에는 여러개의 폴더가 존재합니다. EPUB의 가장 바깥쪽 폴더에는 mimetype 파일과 [META-INF], [OEBPS(OPS)] 폴더가 있으며 [OEBPS]폴더 내에는 content.opf, toc.ncx 파일이 존재합니다. 

minetype 파일은 반드시 동일한 이름으로 존재해야 하는데 일반 텍스트 편집기로 열어보면 'application/epub+zip' 이런 정보가 담겨 있어 이 파일이 EPUB 파일임을 알려줍니다. EPUB2.0에서는 반드시 이 텍스트가 들어가야하며 공백 등 다른 문자를 허용하지 않습니다. 또한 이 파일은 압축을 하면 안되도록 규정되어 있으나 EPUB3.0에서는 이런 제한이 사라졌습니다.

[META-INF] 폴더 안에는 container.xml 파일이 반드시 포함되야 합니다. 이 파일은 뷰어가 EPUB파일을 열 때 다른 파일들이 어디에 있는지 위치를 알려주는 역할을 합니다. 

  <?xml version="1.0" encoding="UTF-8" ?> 

-<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">

- <rootfiles>

  <rootfile full-path="OEBPS/content.opf" media-type="application/oebps-package+xml" /> 

  </rootfiles>

  </container>

container.xml 에는 이 전자책의 루트 폴더(최상위 폴더)가 어디에 위치하는지를 알려주고, content.opf 파일의 위치를 지정합니다. 여기서 지정된 내용에 따라 [OEBPS]폴더 명이 달라질 수있습니다. 아울러 container.xml에 적혀있는 파일명과 위치에 정확히 content.opf 파일이 존재해야 합니다. 따라서 content.opf 파일은 container.xml파일의 정보에 따라 파일명을 변경할 수 있습니다. 


 이외에도 metadata, manifest, rights, signatures 등 다양한 메타 정보 파일이 들어올 수 있습니다. 아이북스(iBooks)에 필요한 정보인 [com.apple.ibooks.display-options.xml] 파일 역시 이 폴더 안에 들어갑니다. 


[OEBPS]는 실제 EPUB의 콘텐츠가 들어가는 폴더입니다. 폴더명을 [OPS]나 [CONTENT] 등 임의의 폴더명으로도 지정할 수도 있습니다. 단, 위에서 설명한 container.xml에 정확한 이름이 명시되어야 합니다. 이 폴더에는 폰트, 이미지, 텍스트, CSS파일 등이 들어가는데 파일을 저장하는 규칙은 임의로 지정할 수 있습니다. 예를 들어 이미지 파일을 [Images]폴더가 아닌 [Text]폴더 내에 넣을 수도 있고, [Images]폴더 명을 [Img]나 [Media] 등으로 변경할 수도 있습니다. 


[OEBPS]는 EPUB 파일의 Root폴더 역할을 하며 콘텐츠 제작시 아주 중요한 역할을 합니다. Root 폴더란 컴퓨터에서 최상위 폴더를 의미하며 윈도우 PC에서 ‘C:/’에 해당합니다. Root 폴더가 중요한 이유는 두가지입니다. 첫째, 콘텐츠 파일은 루트폴더 내에 존재해야 하기 때문에 콘텐츠 편집에 필요한 모든 파일은 [OEBPS] 폴더 내에 위치하기 때문입니다. 둘째, [OEBPS]폴더가 Root 폴더 역할을 하기 때문에 콘텐츠의 위치를 알려주는 ‘경로’는 모두 [OEBPS]폴더로부터 시작하기 때문입니다. 


첫번째 이유는 다른 설명이 없어도 이해하기 쉽습니다. 콘텐츠 제작에 필요한 모든 파일을 [OEBPS]폴더 안에 넣으면 됩니다. 하지만 두번째 이유는 파일시스템을 이해하지 못하면 어려울 수 있습니다.

지도상에서 내가 있는 위치를 표시할때 우리는 주소를 사용합니다. [서울시 > 종로구 > 종로1가 > 1번지] 하는 식으로 큰 지역에서 작은 지역으로 주소를 적게 됩니다. 컴퓨터의 파일시스템 역시 이런 규칙을 갖고 있고 이런 주소를 ‘경로’라고 부릅니다. 컴퓨터 하드디스크에서 가장 큰 지역은 [C:/]이고 epub 폴더가 루트에 있다면 [C:/epub/]가 ‘경로’가 됩니다. [C:\]는 가장 큰 값이기 때문에 서울 앞에 [대한민국]을 붙이지 않는 것 처럼 [../epub/]로 표시할 수 있습니다. 여기서 [../]라는 표시는 Root폴더를 의미합니다.


이 규칙을 따르면 위 예제에서의 cover.jpg 파일의 경로는 [C:/epub/OEBPS/Images/cover.jpg] 또는 [../epub/OEBPS/Images/cover.jpg]가 됩니다. 그런데 [C:\epub]폴더는 [C:/]가 아닌 다른 곳으로 이동할 수 있기 때문에 [epub]폴더가 어디에 있느냐에 따라 경로가 변경됩니다. 그래서 [epub]폴더가 변경되더라도 cover.jpg파일의 경로가 항상 동일할 수 있도록 EPUB 뷰어는 [OEBPS]폴더를 Root폴더로 인식하게 됩니다. [OEBPS]폴더가 Root 폴더가 되면 epub 폴더가 어느 위치에 있더라도 cover.jpg 파일의 경로는 항상 [../Images/cover.jpg]가 됩니다.


조금 어려운 내용이라 이해가 어려울 수 있습니다. EPUB을 만들 때 이 내용을 이해하지 않더라도 괜찮습니다. 단, 내가 필요로 하는 파일의 위치가 어디에 있는지를 알려주는 경로가 [OEBPS]에서 시작하고, [OEBPS]를 기준으로 [../Images/cover.jpg][../Fonts/font.tts][../Text/cover.html]이라는 것만 기억하고 있다면 EPUB 을 만드는데 큰 도움이 될 것입니다.


[OEBPS]안에 들어가는 파일명, 폴더명은 편집자가 마음대로 정할 수 있습니다. 챕터 파일을 text01.xhtml, text02.xhtml로 해도 되고, chap01.xhtml, chap02.xhtml로 해도 됩니다. 첫번째 챕터가 01이 아니어도 됩니다. 첫번째 챕터를 chap02.xhtml, 두번째 챕터를 chap01.xhtml로 만들어도 상관 없습니다. 다만, 파일을 수정할 때 구조를 쉽게 알아보려면 일정한 규칙을 정해 놓고 그 규칙을 따르는 것이 좋습니다. 


content.opf, toc.ncx 이 두 파일은 뷰어에서 참조를 합니다. EPUB 내에 있는 모든 파일의 목록을 담고 있는 content.opf 파일은 뷰어가 콘텐츠를 불러들이는 길잡이를 하고 책을 보는 순서를 지정합니다. toc.ncx는 책의 목차 정보를 담고 있습니다. 이 두 파일은 구조가 복잡해서 직접 작성하기는 어렵기 때문에 저작 도구가 자동으로 생성합니다.


content.opf 파일은 container.xml에서 그 위치를 지정해 줘야합니다. 이 파일은 EPUB파일 내에 있는 모든 파일의 위치와 콘텐츠를 보는 순서 정보를 담고 있기 때문에 뷰어가 제일 먼저 확인하는 파일 중 하나입니다. 이 파일에 위치가 지정되지 않았다면 뷰어에서 오류가 날 수 있습니다. 


toc.ncx 파일은 목차 정보를 담고 있습니다. 뷰어에서 [목차]를 선택했을 때 참고하는 파일이기도 합니다. 

 

'EPUB 제작의 기초 > EPUB이란?' 카테고리의 다른 글

EPUB 제작을 위한 준비 사항  (0) 2013.10.11
EPUB 파일의 구조 및 요소별 기능  (0) 2013.10.10
IDPF의 EPUB 공개 표준 명세서  (1) 2013.10.10
EPUB의 기본 정의  (0) 2008.10.08

설정

트랙백

댓글


티스토리 툴바