EPUB FACTORY
EPUB 알아보기 / 문제 해결
문제 해결

업로드 오류가 떴을 때
흔한 원인과 고치는 법

EPUB이 서점에서 반려되거나, 검사 도구가 오류를 뱉습니다. 원인은 결국 몇 가지 유형으로 좁혀집니다. 이 글에서는 무엇부터 확인해야 하는지, 그리고 가장 자주 마주치는 오류들이 실제로 무엇을 말하는지를 정리합니다.
이 글의 목차
  1. 먼저 검사 도구를 돌린다
  2. 자주 마주치는 오류와 해결
  3. 검사는 통과했는데 반려될 때
  4. 오류 메시지를 읽는 법

먼저 검사 도구를 돌린다

서점이 보여 주는 오류 메시지는 대개 두루뭉술합니다. "파일에 문제가 있습니다" 정도밖에 말해 주지 않을 때도 있습니다.

그러니 가장 먼저 할 일은 EPUBCheck라는 검사 도구에 통과시켜 보는 것입니다. W3C가 배포하는 공식 도구이며 무료입니다. 온라인에서 돌려 주는 서비스도 있습니다.

이 도구는 어느 파일의 몇 번째 줄이, 무엇이 잘못되었는지를 정확히 알려 줍니다. 서점의 오류 메시지보다 훨씬 빠르게 원인에 닿을 수 있습니다.

아무것도 안 나온다면

EPUBCheck가 깨끗한데도 서점이 파일을 거부한다면, EPUB 규격의 문제가 아니라 그 서점 고유의 요건일 가능성이 큽니다. 아래 절을 보세요.

자주 마주치는 오류와 해결

혼자서 EPUB을 만들다 보면 마주치는 오류는 어느 정도 정해져 있습니다.

mimetype에 관한 오류 ZIP이 올바르게 조립되지 않았다

EPUB 안에는 mimetype 이라는 작은 파일이 있고, 이것은 반드시 ZIP의 맨 앞에 무압축으로 저장해야 한다는 규칙이 있습니다.

폴더를 일반 압축 도구로 zip으로 묶으면 그 조건을 만족하지 않습니다. EPUB을 손으로 조립했을 때 가장 흔한 문제입니다.

해결 EPUB 생성 도구로 다시 만듭니다. 손으로 다시 압축해야 한다면, mimetype을 맨 앞에 무압축으로 넣는 절차가 필요합니다.
파일 등록에 관한 오류 파일이 목록에 없거나, 목록에 있는데 파일이 없다

EPUB의 모든 파일은 <manifest> — 즉 content.opf 안의 목록에 등록해야 합니다.

이미지를 추가하고 등록을 잊었거나, 등록된 파일이 이제 존재하지 않거나 — 어느 쪽의 어긋남이든 오류가 납니다.

해결 manifest와 실제 파일을 대조합니다. 도구로 다시 생성하는 것이 확실합니다.
필수 정보에 관한 오류 서지 정보가 비어 있다

EPUB 3은 다음을 요구합니다.

dc:title(제목)
dc:language(언어. 일본어라면 ja)
dc:identifier(식별자)
dcterms:modified(최종 수정 일시)

해결 입력란을 비운 채로 변환하지 않았는지 확인합니다. 특히 제목은 독자의 책장에 표시되는 이름입니다.
링크에 관한 오류 목차의 링크가 아무 데도 가리키지 않는다

목차(nav.xhtml)의 링크가 존재하지 않는 파일을 가리키고 있습니다. 장을 삭제하고 목차를 갱신하지 않았을 때 일어납니다.

해결 링크가 가리키는 곳을 확인합니다. 원고를 고쳤다면 EPUB을 다시 만드는 것이 안전합니다.
XHTML 자체에 관한 오류 닫지 않은 태그와 오타

EPUB의 본문은 XHTML로 쓰이며, 이것은 일반적인 HTML보다 엄격합니다. 태그를 닫지 않았거나, <br> 라고 쓰면( <br />이어야 합니다) 오류가 납니다.

원고에 HTML 태그를 직접 써 넣었을 때 자주 일어납니다.

해결 원고에서 HTML 태그를 걷어냅니다. 서식이 필요하다면 쓰는 도구가 지원하는 표기법을 씁니다.

검사는 통과했는데 반려될 때

EPUBCheck의 오류가 0인데도 서점이 파일을 거부한다면, 그것은 규격이 아니라 서점의 요건입니다.

흔한 요건

요건은 바뀝니다

서점마다 제출 요건은 수시로 갱신됩니다. 최신 내용은 반드시 그 서점의 도움말에서 확인하세요.

이 글을 포함한 제3자의 정리는 오래된 것일 수 있습니다. 오류 메시지의 정확한 문구로 서점 도움말을 검색하는 것이 가장 확실한 길입니다.

킨들의 경우

아마존은 받아들인 EPUB을 자체 포맷으로 변환합니다. 그 변환 단계에서 문제가 드러날 수 있으므로, 제출 전에 Kindle Previewer에서 확인하면 원인을 더 빨리 좁힐 수 있습니다.

Previewer에서는 열리는데 제출이 반려된다면, 파일 자체보다 등록 정보나 심사쪽일 가능성이 큽니다.

오류 메시지를 읽는 법

EPUBCheck는 영어로 씁니다. 다만 형태만 알면 어렵지 않습니다.

ERROR(RSC-001): book.epub/OEBPS/content.opf(12,45):
  File "OEBPS/image/cover.jpg" could not be found.
↑종류  ↑어느 파일의 몇 번째 줄  ↑무엇이 잘못되었는가
표시의미
FATAL치명적. 파일이 아예 성립하지 않는다
ERROR규격 위반. 반드시 고쳐야 한다
WARNING경고. 동작은 하지만 권장되지 않는다
INFO정보. 보통은 손댈 것이 없다

먼저 FATAL과 ERROR를 봅니다. WARNING은 대개 그대로 내보내도 됩니다.

오류가 수십 개 나올 때

오류가 40개씩 줄줄이 나오면 막막하지만, 대개는 전부 하나의 원인에서 나옵니다.

예를 들어 manifest의 잘못된 한 줄 때문에, 거기서 참조되는 모든 파일이 실패하는 식입니다.맨 위의 첫 번째 것만 고치고 다시 검사해 보세요 — 개수가 한꺼번에 무너지는 일이 많습니다.

다시 만드는 편이 빠를 때도 있습니다

도구가 만든 EPUB을 손으로 고치다가 망가뜨렸다면, 원고에서 다시 만드는 편이 대개 빠릅니다. 오류를 하나씩 잡는 것보다 원고를 고쳐 다시 변환하는 쪽이 확실합니다.

검사를 통과하는 EPUB 만들기

EPUB FACTORY는 생성한 모든 파일을 규격 준수 검사에 통과시키고 그 결과를 보여 줍니다. 가입도, 설치도 필요 없습니다.

EPUB FACTORY 사용해 보기
EPUBCheck는 통과했는데도 찜찜하다면

EPUB 진단은 규격상으로는 올바른데 실제 독자에게는 문제가 되는 지점을 여러분의 언어로 짚어 줍니다. 전부 브라우저 안에서 돌아가므로 파일이 어디로도 전송되지 않습니다. 무료, 가입 불필요.

EPUB 진단하기 →