EPUB FACTORY
Tìm hiểu EPUB / Khi có trục trặc
Khi có trục trặc

Khi hiện lỗi lúc nộp bài
nguyên nhân thường gặp và cách sửa

Một cửa hàng từ chối tệp EPUB của bạn, hoặc một công cụ kiểm tra báo lỗi. Nguyên nhân rút lại chỉ gồm vài kiểu. Bài này trình bày cần kiểm tra gì trước, và những lỗi bạn hay gặp nhất thực sự có nghĩa gì.
Trong bài này
  1. Hãy bắt đầu bằng việc chạy một công cụ kiểm tra
  2. Những lỗi bạn sẽ gặp và cách sửa chúng
  3. Khi vượt qua kiểm tra mà vẫn bị từ chối
  4. Cách đọc một thông báo lỗi

Hãy bắt đầu bằng việc chạy một công cụ kiểm tra

Thông báo lỗi mà một cửa hàng hiện ra thường mơ hồ. Đôi khi nó chẳng nói gì hơn "tệp của bạn có vấn đề".

Nên việc đầu tiên cần làm là cho nó chạy qua một công cụ kiểm tra tên là EPUBCheck. Đó là công cụ chính thức do W3C phát hành và miễn phí. Cũng có những dịch vụ chạy nó trực tuyến.

Công cụ này cho bạn biết chính xác tệp nào, dòng nào, và cái gì sai. Điều đó đưa bạn tới nguyên nhân nhanh hơn nhiều so với thông báo lỗi của một cửa hàng.

Nếu nó không báo gì cả

Nếu EPUBCheck sạch mà cửa hàng vẫn từ chối tệp, nhiều khả năng đây không phải chuyện đặc tả EPUB mà là một yêu cầu riêng của cửa hàng đó. Xem phần bên dưới.

Những lỗi bạn sẽ gặp và cách sửa chúng

Nếu bạn tự làm EPUB một mình, những lỗi bạn vấp phải khá dễ đoán.

Lỗi liên quan tới mimetype Tệp ZIP không được lắp ráp cho đúng

Bên trong một tệp EPUB có một tệp nhỏ tên là mimetype , và quy tắc là nó phải được lưu đầu tiên trong tệp ZIP, không nén.

Nén một thư mục bằng công cụ nén thông thường không thỏa mãn điều kiện đó. Đây là vấn đề phổ biến nhất khi một tệp EPUB được lắp ráp bằng tay.

Cách sửa Hãy tạo lại nó bằng một công cụ dựng EPUB. Nếu buộc phải nén lại bằng tay, bạn cần một quy trình lưu mimetype đầu tiên và không nén.
Lỗi liên quan tới việc khai báo tệp Một tệp không có trong danh sách, hoặc có trong danh sách nhưng lại không tồn tại

Mọi tệp trong EPUB đều phải được khai báo trong <manifest> của content.opf .

Bạn thêm một tấm ảnh rồi quên khai báo, hoặc một tệp đã khai báo nay không còn — bất kỳ sự vênh nào trong hai cái đó cũng sinh ra lỗi.

Cách sửa Hãy đối chiếu manifest với các tệp thực tế. Tạo lại bằng công cụ là cách chắc chắn.
Lỗi liên quan tới thông tin bắt buộc Thiếu thông tin thư mục

EPUB 3 đòi hỏi những mục sau.

dc:title (tên sách)
dc:language (ngôn ngữ; vi cho tiếng Việt)
dc:identifier (định danh)
dcterms:modified (lần sửa cuối)

Cách sửa Hãy kiểm tra xem bạn có chuyển đổi khi các ô còn để trống không. Riêng tên sách là thứ hiện lên kệ của người đọc.
Lỗi liên quan tới liên kết Một liên kết trong mục lục không dẫn tới đâu cả

Một liên kết trong mục lục (nav.xhtml) trỏ tới một tệp không có ở đó. Chuyện này xảy ra khi bạn xóa một chương mà quên cập nhật mục lục.

Cách sửa Hãy kiểm tra đích của các liên kết. Nếu bạn đã sửa bản thảo thì dựng lại tệp EPUB là nước đi an toàn.
Lỗi liên quan tới chính phần XHTML Thẻ chưa đóng và lỗi gõ

Phần thân của một tệp EPUB được viết bằng XHTML, thứ khắt khe hơn HTML thông thường. Một thẻ chưa đóng, hoặc viết <br> (phải là <br />), đều sinh ra lỗi.

Chuyện này hay xảy ra khi các thẻ HTML được gõ thẳng vào bản thảo.

Cách sửa Hãy bỏ các thẻ HTML ra khỏi bản thảo. Nếu bạn cần định dạng, hãy dùng cú pháp mà công cụ của bạn hỗ trợ.

Khi vượt qua kiểm tra mà vẫn bị từ chối

Nếu EPUBCheck báo không lỗi nào mà cửa hàng vẫn từ chối tệp, thì đó là yêu cầu của cửa hàng chứ không phải của đặc tả.

Những yêu cầu thường gặp

Các yêu cầu vẫn thay đổi

Yêu cầu nộp bài của từng cửa hàng thỉnh thoảng lại được cập nhật. Luôn xác nhận yêu cầu hiện hành trong trang trợ giúp của chính cửa hàng đó.

Những bản tóm lược của bên thứ ba, kể cả bài này, có thể đã lỗi thời. Tìm đúng nguyên văn thông báo lỗi trong phần trợ giúp của cửa hàng là con đường đáng tin cậy nhất.

Với Kindle

Amazon chuyển tệp EPUB nhận được sang định dạng riêng của họ. Vấn đề có thể lộ ra ở bước chuyển đổi ấy, nên kiểm tra trong Kindle Previewer trước khi nộp sẽ thu hẹp nguyên nhân nhanh hơn.

Nếu Previewer mở được mà bài nộp vẫn bị từ chối thì nhiều khả năng vấn đề nằm ở thông tin đăng ký hoặc khâu xét duyệt của bạn hơn là ở chính tệp.

Cách đọc một thông báo lỗi

EPUBCheck viết bằng tiếng Anh, nhưng khi đã nắm được cấu trúc thì không khó.

ERROR(RSC-001): book.epub/OEBPS/content.opf(12,45):
  File "OEBPS/image/cover.jpg" could not be found.
↑loại ↑tệp nào, dòng nào ↑cái gì sai
NhãnÝ nghĩa
FATALNghiêm trọng. Tệp hoàn toàn không đứng vững
ERRORVi phạm đặc tả. Phải sửa
WARNINGCảnh báo. Vẫn chạy, nhưng không được khuyến khích
INFOThông tin. Thường thì không phải làm gì

Hãy xem FATAL và ERROR trước. WARNING thường có thể phát hành nguyên như vậy.

Khi có tới hàng chục lỗi

Bốn mươi lỗi liên tiếp trông thật vô vọng, nhưng thường thì tất cả đều đến từ một nguyên nhân duy nhất.

Chẳng hạn một dòng hỏng trong manifest sẽ làm mọi tệp được tham chiếu từ đó cùng thất bại.Chỉ sửa cái đầu tiên từ trên xuống rồi kiểm tra lại — con số thường sụp xuống ngay một lúc.

Đôi khi dựng lại từ đầu còn nhanh hơn

Nếu bạn sửa tay một tệp EPUB do công cụ tạo ra rồi làm hỏng nó, dựng lại từ bản thảo gốc thường nhanh hơn. Sửa bản thảo rồi chuyển đổi lại đáng tin cậy hơn là dập từng lỗi một.

Dựng một tệp EPUB vượt qua kiểm tra

EPUB FACTORY cho mọi tệp nó tạo ra chạy qua một lượt kiểm tra tuân thủ chuẩn rồi hiện kết quả cho bạn. Không cần tài khoản, không cần cài đặt.

Dùng thử EPUB FACTORY
Khi EPUBCheck đã qua mà bạn vẫn thấy chưa yên tâm

Công cụ chẩn đoán EPUB của chúng tôi chỉ ra những chỗ trên giấy tờ thì hợp lệ nhưng lại hỏng với người đọc thật, bằng chính ngôn ngữ của bạn. Nó chạy hoàn toàn trong trình duyệt, nên tệp của bạn không được gửi đi đâu cả. Miễn phí, không cần đăng ký.

Chẩn đoán một tệp EPUB →