如何更正 ePUB 電子書檔案 Validation 出現的錯誤
在前一篇的文章, 我們在 International Digital Publishing Forum (IDPF) 網站確定 ePUB 電子書的檔案格式是否符合標準 (ePUB File Validation)。 老實說, IDPF 對ePUB File 的 Validation 真是十分嚴格, 很多根本不會影響 ePUB 電子書的顯示效果也會出現錯誤訊息。很多作家花了很多時間也總是沒法子將所有錯誤刪除, 最後唯有索性不理會餘下的錯誤上架銷售。
其實, 很多微少的錯誤確實不會影響 ePUB 電子書的顯示效果。你可以嘗試在網上下載一些 ePUB 電子書, 然後上載往 IDPF 作 Validation 測試, 相信 99% 的 ePUB 電子書是不完全符合標準的。
但是, 如果你真的希望完全符合ePUB 電子書檔案的標準, 這也並不是太困難的, 只要按 Validation 的錯誤訊息指示續項更改便可以了。現在我就在這裡嘗試將所有 Validation 錯誤訊息刪除。
首先登入 IDPF 網址, 將先前製作的 ePUB 檔案上傳往網站作 Validation, 結果出現了6個錯誤訊息, 如下圖所示:
其實所有錯誤訊息都有清晰的指示, 例如第一個錯誤:
理論只要按錯誤提示更改便應該可以了, 現在就嘗試根據指示更改。
首先將 ePUB 檔案解壓 (UNZIP), 所有 Export 相關的檔案將會顯示出來。
用 Text editor 開啟出現錯誤的檔案 (myfirstbook.html):
查看錯誤的指示:
再看看 myfirstbook.html 檔案, 很明顯的, 錯誤是出現在第二行:
驟眼一看, 兩行都是一樣的, 以為沒有錯誤。但細心看看, 原來在”1.1 //EN”之間是不容許空位的。
將”1.1 //EN”之間的空位刪除, 改成”1.1//EN”, 然後儲存檔案。
第二個錯誤和第一個錯誤是相同的, 只是發生在第二頁 (myfirstbook-1.html), 同樣將”1.1 //EN”之間的空位刪除, 然後儲存檔案。
第三個錯誤和第四個錯誤都是一樣, 同樣將”1.1 //EN”之間的空位刪除, 然後儲存檔案。
將電子書再 ZIP 成 epub 檔案, 上傳往 IDPF 網站再作 Validation, 看看結果如何。
好了, 首四個錯誤解決了, 只餘下兩個錯誤訊息:
兩個錯誤檔案都是 myfirstbook.epub, 錯誤指示都是:
這錯誤十分明顯, 是在製作 ePUB 電子書時用了特別的字體。
要解決這錯誤應該十分容易, 只要在 InDesign Export 出 ePUB 檔案時不要選擇 “Include Embeddable Fonts” 便可以了, 如下圖所示:
將電子書 epub 檔案上傳往 IDPF 網站再一次作 Validation, 看看結果如何。
看! 所有錯誤都解決了, 現在的 ePUB 電子書是100% 符合標準的。
所以, 要 ePUB 電子書是100% 符合標準並不是不可能的。