如何做EPUB:從零到精通的電子書製作完全指南

如何做EPUB:從零到精通的電子書製作完全指南

「欸,你知道怎麼把文件變成EPUB嗎?我每次想做自己的電子書都卡住耶!」是不是很多人心裡都有這樣的疑問呢?尤其在這個數位閱讀盛行的年代,無論是想分享自己的創作、整理學習筆記,還是出版電子書,製作EPUB都成了許多創作者和內容擁有者的必經之路。其實,要製作一個專業的EPUB電子書,方法還蠻多的,主要可以透過專用的編輯軟體(像是Calibre、Sigil)、便利的轉換工具,或是更進階的手動編碼來達成。別擔心,今天這篇文章就要帶你一步步搞懂如何做EPUB,從最基礎的觀念到進階技巧,保證讓你也能輕鬆製作出令人驚豔的電子書!

EPUB到底是什麼?為什麼我們要學會做EPUB?

在我們深入探討如何做EPUB之前,先來搞清楚EPUB到底是什麼東東吧!EPUB(Electronic Publication)是一種開放的電子書標準格式,由國際數位出版論壇(IDPF,現已併入W3C)制定。它可不是隨便一種檔案格式喔,EPUB最大的特色就是「流式排版」(Reflowable Layout)。這什麼意思呢?簡單來說,當你在手機、平板、電子閱讀器等不同大小的裝置上打開EPUB電子書時,文字、圖片會自動調整,適應螢幕大小,讓閱讀體驗永遠保持最佳狀態,這就跟PDF那種固定版面截然不同啦!

我自己以前也常常遇到排版跑掉的問題,直到接觸了EPUB才發現,原來電子書可以這麼「聰明」!EPUB不只讓閱讀變得更彈性,還有以下幾個超棒的優點,讓你非學不可:

  • 高度相容性: 幾乎所有主流的電子閱讀器、APP和數位出版平台都支援EPUB格式,你就不用擔心讀者打不開你的書了。
  • 優異的閱讀體驗: 除了流式排版,讀者還可以自由調整字體大小、字型、行距、背景顏色等等,完全個人化閱讀介面,眼睛再也不會疲勞了啦!
  • 支援多媒體與互動: 尤其是EPUB 3版本,更可以嵌入音訊、視訊、互動式元素,讓你的電子書變得更生動有趣,不再只是單純的文字頁面。
  • 容易搜尋與標註: EPUB檔案中的文字是可選取的,讀者可以輕鬆複製、搜尋關鍵字,甚至在書上做筆記、畫重點,這功能對學生或研究人員來說簡直是福音!
  • 無障礙設計(Accessibility): EPUB格式本身就考量了視障讀者的需求,支援螢幕閱讀器,讓資訊能夠觸及更廣泛的讀者群,這可是非常重要的社會責任呢。

所以說,學會如何做EPUB,不只是學一種技術,更是掌握了在數位世界分享知識、故事和創意的金鑰匙喔!

準備工作:在開始製作EPUB之前

工欲善其事,必先利其器!在我們捲起袖子,準備製作EPUB之前,有些前置作業是不能省略的喔。把這些基礎打好,後續的製作過程才會更順暢,也能避免許多不必要的麻煩。

1. 內容準備:文字、圖片、表格的整理

這一步驟是最基本也最重要的!你的電子書內容是什麼?是純文字的小說,還是圖文並茂的旅遊誌?不同的內容類型會影響你選擇的製作工具和方法。所以,先花點時間把所有內容都整理好:

  • 文字部分: 確保文字內容已經經過潤飾、校對,沒有錯別字。最好能有一個Word、Pages或Google Docs的原始檔案,這樣方便後續轉換或編輯。特別要注意的是,文件中的「標題」層級要劃分清楚(例如:標題1、標題2),這對自動生成目錄非常有幫助喔!
  • 圖片部分: 如果你的書裡有圖片,請確保它們是高解析度的,但檔案大小也要適中。圖片太小會模糊,太大則會讓電子書檔案臃腫,讀者下載時會卡很久。建議圖片使用JPEG(照片)或PNG(圖標、帶透明背景)格式。記得,最好把所有圖片都放在一個獨立的資料夾裡,方便管理。
  • 表格與複雜排版: 如果你的電子書包含很多表格、數學公式或複雜的圖文混排,那製作EPUB可能就需要更細緻的處理了。一般的轉換工具可能無法完美呈現,這時候你可能就要考慮手動調整HTML和CSS了。

2. 排版考量:章節劃分、字體、樣式

雖然EPUB是流式排版,但事先對排版有些基本概念還是很重要的喔!

  • 章節劃分: 清晰的章節結構不僅讓讀者更容易閱讀,也有助於自動生成導航目次。每個章節最好從一個新的HTML檔案開始,這樣載入速度會比較快。
  • 字體選擇: EPUB通常會使用裝置預設的字體。如果你有特定的字體想嵌入,要考慮版權問題,並注意字體檔案大小,以免電子書過於龐大。通常,簡潔易讀的字體會是更好的選擇。
  • 樣式設計: 雖然EPUB的樣式會根據讀者設定而變,但你還是可以定義預設的文字大小、行距、段落縮排、標題樣式等等。使用CSS(層疊樣式表)來控制這些樣式,是讓你的電子書看起來專業又美觀的關鍵。

3. 工具選擇概覽:找到適合你的武器

市面上有不少工具可以幫助我們做EPUB,它們各有優缺點,選擇哪一款取決於你的技術背景、需求和預算:

  1. 簡易轉換工具: 例如線上轉換網站,或Calibre這類的萬用工具。適合初學者,操作簡單,但對於複雜排版的控制力較弱。
  2. 專業編輯軟體: 如Sigil。功能強大,可以直接編輯EPUB的底層HTML和CSS,適合對排版有更高要求,或有基礎網頁編碼知識的人。
  3. 文書處理軟體輸出: 部分文書處理軟體(如Apple Pages)可以直接匯出EPUB,但效果好壞不一。
  4. 手動編碼: 這是最高階的方法,直接寫HTML、CSS、OPF等檔案。雖然學習曲線陡峭,但能完全客製化,適合程式設計師或追求極致控制的人。

我個人認為,如果你是第一次嘗試,從Calibre或Sigil入門會比較沒壓力。等你玩熟了,再慢慢挑戰更進階的編輯技巧也不遲啦!

方法一:利用專業軟體輕鬆製作EPUB

對於大多數想要製作EPUB的朋友來說,利用專業軟體是最實際也最有效率的途徑。這裡我會介紹兩款非常受歡迎的免費軟體:Calibre 和 Sigil。它們功能強大,能滿足你大部分的EPUB製作需求喔!

Calibre:你的全能電子書管家

Calibre 不只是一個電子書管理工具,更是一個超強大的電子書轉換器和簡單的編輯器。它支援多種輸入和輸出格式,堪稱是電子書界的瑞士刀啦!

功能特色:

  • 支援將多種格式(如DOCX、TXT、HTML、PDF)轉換為EPUB。
  • 可以編輯電子書的元數據(書名、作者、封面等)。
  • 內建簡易的EPUB編輯器,可以做一些基本的排版調整。
  • 強大的電子書庫管理功能。

製作EPUB的具體步驟:

  1. 下載與安裝: 首先,到Calibre的官方網站下載並安裝它。安裝過程很簡單,一路按「下一步」就對了。
  2. 匯入文件: 開啟Calibre後,點擊工具列上的「新增書籍」按鈕(通常是一個加號圖示)。你可以選擇你的Word檔案、HTML檔案或TXT檔案等原始文件匯入到Calibre的書庫裡。
  3. 選擇轉換: 找到你剛剛匯入的書籍,選中它,然後點擊工具列上的「轉換書籍」按鈕。這會打開轉換設定視窗。
  4. 設定轉換參數:
    • 輸出格式: 在轉換視窗的右上方,選擇「EPUB」作為輸出格式。
    • 元數據: 在左側導航列選擇「元數據」,在這裡你可以修改書名、作者、出版社、語言,並設定封面。記得,封面圖片最好是JPEG格式,尺寸約為1600×2400像素左右,這樣在閱讀器上才會好看喔!
    • 排版設定: 這是最關鍵的部分。
      • 外觀與感受: 在左側選擇「外觀與感受」,你可以設定基本字體大小、行距等。Calibre會嘗試根據你的原始文件來判斷樣式。
      • 結構偵測: 在「結構偵測」區塊,如果你原始的Word檔案有使用「標題1」、「標題2」等樣式,Calibre可以自動幫你偵測這些結構來建立目錄。這時候你可能需要填入一些XPath表達式來告訴Calibre如何辨識標題,例如 `//h:h1` 或 `//h:h2`,不過對於新手來說,先使用預設或簡單的「章節」判斷通常也夠用了。
      • 目次: 在「目次」區塊,你可以確認Calibre偵測到的目錄結構是否正確。如果原始文件結構良好,Calibre通常能自動生成。
  5. 開始轉換: 設定好所有參數後,點擊右下角的「確定」按鈕。Calibre就會開始將你的文件轉換成EPUB格式。這個過程可能需要一些時間,取決於你的文件大小和電腦效能。
  6. 檢查與優化: 轉換完成後,你可以在Calibre的書庫中選中該書籍,然後右鍵點擊選擇「開啟資料夾」,找到轉換好的EPUB檔案。用你喜歡的電子書閱讀器(如:Apple Books、Google Play 圖書)打開檢查一下排版。如果有些地方不如預期,可以回到Calibre的「編輯書籍」功能,做一些HTML和CSS的微調,但這部分就比較進階了。

我的看法: Calibre對於初學者來說簡直是福音!它的介面直觀,轉換功能強大,適合快速將各種文件轉成EPUB。不過,如果你對排版有非常精細的要求,或者你的原始文件排版本身就比較複雜,Calibre的自動轉換結果可能就沒那麼完美了,這時候就需要搭配更專業的編輯器來處理啦。

Sigil:EPUB的專業編輯器

如果說Calibre是萬能管家,那Sigil就是專精EPUB編輯的專業裁縫師了。Sigil讓你可以直接檢視和修改EPUB的底層程式碼(HTML和CSS),對於想要完全掌控電子書排版的人來說,它是不可或缺的神器!

功能特色:

  • 直觀的WYSIWYG(所見即所得)編輯器和程式碼編輯器模式。
  • 直接編輯EPUB內的HTML、CSS、XML檔案。
  • 強大的自動生成導航目次功能。
  • 內建EPUB驗證工具(EpubCheck)。
  • 支援圖片、音訊、視訊等多媒體嵌入。

製作EPUB的具體步驟:

  1. 下載與安裝: 到Sigil的官方網站下載並安裝。它也是免費開源的喔!
  2. 新建或開啟EPUB:
    • 如果你是從頭開始做EPUB,可以選擇「檔案」>「新建」。
    • 如果你已經有了一個Word或其他格式的HTML檔案,可以選擇「檔案」>「匯入HTML檔案…」,或者直接把TXT檔案內容複製貼上。
    • 如果你想修改一個現有的EPUB,可以直接用Sigil打開該EPUB檔案。
  3. 分章與結構調整: 這是Sigil的強項之一。
    • 在程式碼視圖下,你可以看到內容是以HTML結構呈現的。建議每個新的章節都從一個新的XHTML檔案開始。你可以手動插入 `<hr />` 分隔線,然後使用「編輯」>「拆分光標處的檔」功能,將一個大檔案拆分成多個小檔案。這樣電子書載入會更快。
    • 在左側的「書籍瀏覽器」面板中,你可以看到所有XHTML檔案的列表。透過拖曳,可以調整它們的順序。
  4. CSS樣式設定:
    • 點擊「工具」>「CSS」>「樣式表編輯器」或在「書籍瀏覽器」中找到「Styles」資料夾,新建或編輯你的CSS檔案。
    • 在這裡你可以定義所有文字、標題、圖片的樣式,例如字體大小、顏色、行距、邊距、對齊方式等。這讓你的電子書風格統一又專業。例如:
      `h1 { font-size: 1.8em; text-align: center; }`
      `p { text-indent: 2em; line-height: 1.5; }`
    • 將CSS檔案鏈接到所有XHTML內容頁面,確保樣式生效。
  5. 圖片插入與調整:
    • 點擊「插入」>「檔案」>「其他檔案…」,選擇你的圖片檔。圖片會被放入「Images」資料夾。
    • 在HTML程式碼中,使用 `<img src=”../Images/your_image.jpg” alt=”圖片說明” />` 標籤來插入圖片。記得要寫上 `alt` 屬性,這對無障礙閱讀很重要喔!
    • 你也可以在CSS中為圖片定義樣式,例如 `img { max-width: 100%; height: auto; display: block; margin: 0 auto; }` 讓圖片能適應各種螢幕大小並居中顯示。
  6. 建立導航目次(NCX/NAV):
    • 這是EPUB不可或缺的部分,讓讀者能快速跳轉章節。
    • 在Sigil中,點擊「工具」>「目次」>「生成目次」。Sigil會根據你XHTML檔案中的H1、H2等標題標籤自動偵測並生成目次。
    • 你也可以手動調整目次層級和名稱。
  7. 元數據編輯: 點擊「工具」>「元數據編輯器」,在這裡填寫書名、作者、語言、出版社、識別碼等重要資訊。也別忘了在這裡設定你的電子書封面!
  8. EPUB驗證: 在完成編輯後,點擊「工具」>「EpubCheck」>「驗證EPUB」。這是一個非常重要的步驟,它可以檢查你的EPUB檔案是否符合EPUB標準,有沒有語法錯誤或結構問題。確保你的EPUB是「有效」的,才能在各種閱讀器上正常顯示。
  9. 儲存EPUB: 確認所有設定無誤後,選擇「檔案」>「儲存檔案」即可儲存為`.epub`格式。

我的看法: Sigil是製作EPUB的進階工具,對於那些追求完美排版、需要精細控制的創作者來說,它是絕對的首選。雖然你需要一點點HTML和CSS的基礎,但Sigil的WYSIWYG模式也讓入門不那麼困難。如果你認真想在數位出版領域走得更遠,Sigil絕對值得你投入時間學習!

方法二:從Word、PDF等文件轉換EPUB

除了使用專業軟體從零開始編輯,很多時候我們的內容已經存在於Word或PDF檔案中。這時候,學習如何做EPUB的另一條路就是透過轉換。雖然方便,但這裡面也有一些眉角要注意喔!

Word轉EPUB:最常見的起點

Word檔案是大家最常用的文書處理格式,所以從Word轉換成EPUB的需求也特別大。轉換效果的好壞,很大程度上取決於你Word檔案的「清潔度」和排版方式。

Word排版注意事項:

在轉換之前,請務必先優化你的Word檔案:

  • 使用「樣式」: 不要手動調整字體大小和粗細來當作標題!請務必使用Word內建的「標題1」、「標題2」、「內文」等樣式。這是生成EPUB目錄和控制CSS樣式的基礎。
  • 避免過多手動格式: 盡量減少手動的、複雜的格式設定,例如不必要的換行符(Shift+Enter)、過多的空格、文本框、圖片疊加等。這些都可能在轉換時造成排版混亂。
  • 圖片處理: 確保圖片是「嵌入式」而非「浮動」的,並且圖片檔案大小適中。可以先在Word中將圖片壓縮一下。
  • 頁碼、頁眉頁腳: EPUB是流式排版,所以頁碼、頁眉頁腳這些在Word中常見的元素,轉換後通常會被忽略或產生異常,不用特別去排版。

轉換工具:

  1. Calibre: 這是最推薦的方法,前面已經詳細介紹過了。只要Word文件本身排版規範,Calibre的轉換效果會很好。
  2. 線上轉換工具: 網路上有很多免費的Word轉EPUB工具(例如:Zamzar、Convertio)。它們操作簡單,上傳Word檔案,選擇輸出EPUB,下載即可。但缺點是,對於複雜的Word檔案,轉換品質通常不盡理想,而且有些服務可能對檔案大小或數量有限制。
  3. 文書處理軟體直接匯出: 某些軟體,如Apple Pages,可以直接將文件匯出為EPUB格式。雖然方便,但通常缺乏細部控制,匯出的EPUB可能需要進一步編輯調整。

轉換後檢查與優化:

無論用哪種方式轉換,轉換後的EPUB都應該用電子書閱讀器仔細檢查。如果發現排版問題,你可以:

  • 回到原始的Word檔案,進一步清理和規範排版,然後重新轉換。
  • 使用Sigil這類專業EPUB編輯器,直接打開轉換後的EPUB檔案,手動調整HTML和CSS來修正排版問題。這也是最常見且最有效率的優化方式。

我自己的經驗是,Word文件越「乾淨」,轉換後的EPUB品質就越高。所以,在Word裡花點時間整理,絕對是值得的投資喔!

PDF轉EPUB:挑戰與限制

PDF(Portable Document Format)是一種「固定版面」的格式,它的設計宗旨是讓文件在任何裝置上都保持一致的視覺呈現,就像印刷品一樣。這就跟EPUB的「流式排版」理念完全相反啦!所以,從PDF轉換成EPUB,通常會遇到比較大的挑戰。

轉換結果通常不理想的原因:

  • 固定版面vs流式版面: PDF是將文字、圖片、圖形等元素「固定」在頁面上的。當轉換成流式排版的EPUB時,轉換器需要重新解析和佈局這些元素,這過程很容易出錯。
  • 文字難以重排: PDF中的文字有時會被視為圖像的一部分,或者字元之間有不規則的間距,導致轉換後文字無法正確選取,甚至變成亂碼。
  • 複雜排版破碎: 如果PDF包含多欄、複雜的圖文環繞、特殊字體嵌入等,轉換後這些元素往往會錯位、重疊或消失,整個版面會變得亂七八糟。
  • 難以辨識結構: PDF通常沒有明確的語義結構(標題、段落等),這讓EPUB轉換器很難自動生成導航目次和定義樣式。

我的建議:

如果你的原始文件是Word或其他可編輯格式,請務必從原始文件轉換成EPUB,而不是從PDF轉換!這是最重要的原則。

只有在「萬不得已」,手上只有PDF檔案,而且內容主要是純文字、排版非常簡單的情況下,才考慮用Calibre或線上工具進行PDF轉EPUB。但即使如此,你也得做好心理準備,轉換後需要花費大量時間用Sigil這類工具來手動「修復」排版,甚至可以說是「重新排版」了。因為PDF轉EPUB的過程,就像是試圖把已經被切割、固定好的拼圖,重新打散成零件,然後再拼成一個能隨意變形的積木,工程可是相當浩大且困難的喔!

方法三:手動編碼,打造究極客製化EPUB (進階篇)

前面我們介紹了透過軟體和轉換工具來製作EPUB的方法。但如果你對EPUB的排版有極致的要求,希望實現獨一無二的設計,或者你的內容包含複雜的互動功能,那麼手動編碼就是你的終極武器了!這雖然需要一些HTML、CSS和XML的基礎知識,但學會了,你就能完全掌控你的電子書了喔!

EPUB的檔案結構剖析

一個EPUB檔案本質上就是一個經過特殊壓縮的ZIP檔案。你可以把`.epub`副檔名改成`.zip`,然後解壓縮,你就會看到它的內部結構啦!主要會有以下幾個核心資料夾和檔案:

my_ebook.epub
├── META-INF/
│   └── container.xml  (告訴閱讀器內容清單在哪裡)
├── OEBPS/             (Open EBook Publication Structure,核心內容都在這裡)
│   ├── Text/          (存放內容的XHTML檔案,如 chapter1.xhtml, chapter2.xhtml)
│   ├── Styles/        (存放CSS樣式表,如 style.css)
│   ├── Images/        (存放所有圖片檔案)
│   ├── Fonts/         (存放嵌入字體檔案,如果有的話)
│   ├── content.opf    (Package Document,描述書籍的元數據、所有檔案清單、閱讀順序)
│   └── toc.ncx / nav.xhtml (導航目次,EPUB 2用toc.ncx,EPUB 3用nav.xhtml)
└── mimetype           (一個不壓縮的純文字檔,聲明檔案類型為 application/epub+zip)

這看起來有點複雜,但理解了這個結構,你就知道如何做EPUB的細節了!

核心組成元素詳解:

  1. mimetype 這個檔案很特別,它必須是第一個且未壓縮的檔案,內容固定為 `application/epub+zip`。它是電子閱讀器辨識EPUB檔案的「名片」。
  2. META-INF/container.xml 這個XML檔案指引閱讀器找到主要的Package Document(也就是OEBPS/content.opf)。它的內容大概長這樣:
    
    <?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>
            
  3. OEBPS/content.opf (Package Document): 這是EPUB的核心!它是一個XML檔案,包含了:
    • 元數據 (Metadata): 書名、作者、語言、識別碼、出版商、封面圖片等資訊。
    • 清單 (Manifest): 列出EPUB中所有使用的檔案,包括XHTML內容頁、CSS樣式表、圖片、字體、導航檔案等,並指定它們的MIME類型。
    • 導讀順序 (Spine): 定義內容頁的閱讀順序。
    • 指引 (Guide – EPUB 2): 指引閱讀器找到封面、目錄、開始閱讀點等特殊頁面。
  4. OEBPS/toc.ncx / OEBPS/nav.xhtml (導航目次):
    • toc.ncx (EPUB 2): XML格式的檔案,用來建立階層式的導航目錄。
    • nav.xhtml (EPUB 3): 基於XHTML的檔案,取代了toc.ncx,提供更豐富的導航功能,並支援無障礙設計。通常會包含主要目錄、頁碼清單等。
  5. OEBPS/Text/*.xhtml (內容頁): 這是你的書的實際內容,每一章或每一個部分通常是一個獨立的XHTML檔案。它們本質上就是經過精簡的HTML檔案,裡面包含了文字、圖片連結等。
  6. OEBPS/Styles/*.css (樣式表): 你的電子書所有排版樣式(字體、顏色、大小、行距、邊距等)都定義在這個CSS檔案裡。

手動編碼EPUB的具體步驟:

這部分比較硬核,需要你熟悉基本的HTML和CSS語法。你可以使用任何文字編輯器來進行(如VS Code、Sublime Text),甚至是最簡單的記事本也可以!

  1. 準備基礎檔案和資料夾結構:
    • 創建一個主資料夾,例如 `MyEbook`。
    • 在 `MyEbook` 裡,創建 `META-INF` 和 `OEBPS` 資料夾。
    • 在 `OEBPS` 裡,再創建 `Text`、`Styles`、`Images`、`Fonts` 等資料夾。
    • 創建 `mimetype` 檔案,內容為 `application/epub+zip`。
  2. 編寫 `META-INF/container.xml` 按照上面的範例寫好這個XML檔案。
  3. 準備XHTML內容檔案:
    • 在 `OEBPS/Text/` 資料夾中,為你的每一章或每個獨立頁面創建一個 `.xhtml` 檔案。例如 `chapter01.xhtml`、`chapter02.xhtml`、`cover.xhtml` 等。
    • 每個XHTML檔案都應該有標準的HTML5結構,例如:
      
      <?xml version="1.0" encoding="utf-8"?>
      <html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops">
      <head>
        <title>第一章 故事的開端</title>
        <link rel="stylesheet" type="text/css" href="../Styles/style.css"/>
      </head>
      <body>
        <h1>第一章 故事的開端</h1>
        <p>很久很久以前,在一個遙遠的國度...</p>
        <img src="../Images/some_image.jpg" alt="風景圖" />
      </body>
      </html>
                      
    • 確保所有圖片路徑都是正確的,指向 `../Images/` 資料夾。
  4. 編寫CSS樣式表:
    • 在 `OEBPS/Styles/` 資料夾中創建 `style.css` 檔案。
    • 在這裡定義你的所有樣式。例如:
      
      body {
        font-family: 'Noto Sans TC', sans-serif;
        line-height: 1.6;
        margin: 1em;
      }
      h1 {
        font-size: 2em;
        text-align: center;
        margin-top: 1.5em;
        page-break-before: always; /* 讓章節標題前自動分頁 */
      }
      p {
        text-indent: 2em;
        margin-bottom: 0.8em;
      }
      img {
        max-width: 100%;
        height: auto;
        display: block;
        margin: 1em auto;
      }
                      
  5. 創建 `OEBPS/content.opf` (Package Document):
    • 這一步驟比較繁瑣,需要確保所有檔案的路徑、MIME類型、閱讀順序都正確。
    • 建議你可以先用Sigil製作一個簡單的EPUB,然後解壓縮出來,參考它的 `content.opf` 結構來修改,這樣會比較快。
    • 關鍵部分包括 `<metadata>` (作者、書名等)、`<manifest>` (所有檔案清單)、`<spine>` (閱讀順序)。
  6. 創建導航檔案:
    • EPUB 2 (toc.ncx): 在 `OEBPS/` 資料夾中創建 `toc.ncx`。這也是一個XML檔案,定義了多層次的導航目次。你同樣可以參考Sigil生成的範例。
    • EPUB 3 (nav.xhtml): 在 `OEBPS/Text/` 資料夾中創建 `nav.xhtml`。這是一個標準的XHTML檔案,使用 `<nav epub:type=”toc”>` 標籤來建立導航。
    • 記得在 `content.opf` 的 `manifest` 中引用這個導航檔案,並在 `spine` 中標記其為導航內容。
  7. 打包成EPUB:
    • 確保所有檔案都已放入正確的資料夾。
    • 選擇 `mimetype` 檔案,然後將 `META-INF` 和 `OEBPS` 資料夾一起選取。
    • 將這三項(`mimetype` 檔案、`META-INF` 資料夾、`OEBPS` 資料夾)壓縮成一個ZIP檔案。
    • 最後,將這個ZIP檔案的副檔名從 `.zip` 改為 `.epub`。
    • 注意: `mimetype` 檔案必須是ZIP壓縮包中的第一個檔案,而且不能被壓縮。大多數壓縮工具在壓縮單個檔案時會自動不壓縮。如果你壓縮整個資料夾,然後再改名,可能會導致 `mimetype` 被壓縮,進而讓EPUB失效。穩妥的做法是先壓縮 `mimetype`(無壓縮),然後再將 `META-INF` 和 `OEBPS` 加入到這個ZIP檔案中。
  8. EPUB驗證: 強烈建議使用官方的EpubCheck工具(一個Java程式)來驗證你手動製作的EPUB。它會檢查所有語法和結構錯誤,確保你的EPUB符合標準。

我的看法: 手動編碼EPUB是學習EPUB格式最深入的方式,它給予你無限的自由度去設計你的電子書,從每一個像素到每一個互動細節。雖然初期學習曲線比較陡峭,但一旦掌握,你就真正成為了EPUB的大師啦!對於有網頁開發經驗的朋友來說,這條路徑其實並不陌生,反而能充分發揮你的程式設計能力。

EPUB製作的進階技巧與注意事項

掌握了基本的如何做EPUB方法後,我們還可以再精進一下,讓你的電子書更上一層樓!這些進階技巧能讓閱讀體驗更好,也能提升電子書的專業度。

圖片處理:清晰度與檔案大小的平衡

圖片是電子書視覺吸引力的重要組成。但處理不好,可能會讓電子書檔案過大,載入緩慢。

  • 優化圖片格式:
    • JPEG: 適合照片、複雜的漸變色圖片。可以適度壓縮以減小檔案大小,但要注意不要影響視覺品質。
    • PNG: 適合圖標、插畫、帶透明背景的圖片。壓縮率通常不如JPEG,但能保持清晰的邊緣和透明度。
    • SVG: 向量圖格式,非常適合圖標、幾何圖形。它可以在任何解析度下無限縮放而不失真,檔案也小,但支援度略低於位圖。
  • 設定替代文字(Alt Text): 在圖片的HTML標籤中,務必加入 `alt=”圖片描述”` 屬性。這不僅對搜尋引擎友善,更重要的是,它能讓視障讀者透過螢幕閱讀器了解圖片內容,是無障礙設計的關鍵一步!
  • 響應式圖片: 在CSS中,使用 `img { max-width: 100%; height: auto; }` 確保圖片能在不同大小的螢幕上自動縮放,避免溢出或顯示不完整。

字體嵌入:風格一致性與版權考量

如果你希望電子書在任何閱讀器上都能顯示特定的字體,就需要「嵌入字體」。

  • 版權問題: 嵌入字體必須考慮字體的授權問題。有些字體是免費商用的,有些則需要購買嵌入版權。請務必確認你使用的字體可以合法嵌入到電子書中。
  • 檔案大小: 字體檔案通常不小,尤其是一些中文字體,可能高達數MB。嵌入過多的字體會顯著增加EPUB的檔案大小,影響下載速度。建議只嵌入你覺得非用不可的字體,並只嵌入所需的字重(例如只嵌入Regular,不嵌入Bold或Italic)。
  • 最佳實踐: 使用 CSS3 的 `@font-face` 規則來嵌入字體。並且提供多種字體格式(如 WOFF2, WOFF, TTF),以提高兼容性。但對於EPUB,通常TTF或OTF就足夠了。

內部連結與註腳:提升閱讀體驗

良好的內部連結和註腳設計,能讓讀者在閱讀時更方便地跳轉和參考資訊。

  • 內部連結: 使用HTML的錨點(`<a href=”#anchor-id”>連結文字</a>` 和 `<h2 id=”anchor-id”>目標標題</h2>`)來創建章節之間的跳轉,或是從目錄跳到內容。
  • 註腳/腳註: 將註釋放在頁面底部或章節末尾,並透過連結來回跳轉。例如:
    `這是我的內文<a href=”#fn1″ id=”fnref1″>[1]</a>。`
    `…`
    `<p id=”fn1″><small>[1] 這是註腳的內容。<a href=”#fnref1″>↩</a></small></p>`

無障礙設計 (Accessibility):讓所有人都能閱讀

讓你的EPUB具有無障礙性,不僅是符合規範,更是一種負責任的態度,讓視障、聽障或其他特殊需求的讀者也能享受你的內容。這是EPUB 3非常強調的重點。

  • 語義標籤: 使用正確的HTML5語義標籤,例如 `
    `、`

  • 替代文字 (Alt Text): 如前所述,所有圖片都應該有有意義的 `alt` 屬性。
  • 語言設定: 在 `content.opf` 的元數據中,正確設定電子書的語言(例如 `zh-TW` 代表台灣繁體中文),這有助於螢幕閱讀器使用正確的語音合成引擎。
  • 清晰的導航: 確保目錄和所有連結都易於理解和操作。

EPUB驗證 (Validation):確保相容性

在你的EPUB製作完成後,最後但同樣重要的一步就是「驗證」。

  • EpubCheck工具: 這是由W3C提供的官方驗證工具,它可以檢查你的EPUB檔案是否符合EPUB標準規範。無論你是用軟體轉換還是手動編碼,都強烈建議使用它來檢查。如果出現錯誤,請務必修正!一個「有效」的EPUB檔案,才能確保在各種電子閱讀器和平台上都能正常顯示,避免不必要的相容性問題。

這些進階技巧雖然會增加一些工作量,但它們能顯著提升你的電子書品質和讀者體驗。身為一個內容創作者,花費這些心力,絕對是值得的!

常見問題與解答 (FAQ)

如何做EPUB的過程中,大家常常會碰到一些疑問。這裡我整理了一些常見問題,希望能幫你解惑!

EPUB 2 和 EPUB 3 有什麼主要差別?

EPUB 2和EPUB 3就像是兩個不同世代的標準,EPUB 3是更新、更強大的版本。最主要的核心差異,是EPUB 3全面擁抱了HTML5、CSS3和JavaScript等網頁技術,這讓電子書能實現更豐富的功能和互動性。

具體來說,EPUB 3支援多媒體(音訊、視訊)、增強的無障礙功能、垂直寫作(對亞洲語言很重要)、更精確的內容排版控制,以及透過JavaScript實現的互動功能。而EPUB 2則相對簡單,主要以文字內容為主,功能比較基礎。現在業界普遍推薦使用EPUB 3來製作電子書,以獲得更好的閱讀體驗和兼容性喔!

製作好的EPUB檔案要怎麼在裝置上閱讀?

哇,這問題問得真好!製作完EPUB之後,當然要好好享受閱讀的樂趣啦!

首先,大部分的電子閱讀器(像樂天Kobo、Amazon Kindle的非獨家格式、Readmoo讀墨等)都原生支援EPUB檔案。你只要透過USB線把EPUB檔案傳輸到閱讀器上,它通常就會自動辨識並顯示在書庫裡了。再來,手機和平板上也有很多優秀的EPUB閱讀應用程式。像是iOS上的Apple Books(內建的就很好用),Android上的Google Play 圖書、Moon+ Reader、或Aldiko Book Reader等,都是很棒的選擇。有些閱讀App還支援雲端同步,你可以把EPUB檔案上傳到雲端空間(如Google Drive、Dropbox),然後在App裡直接開啟,這樣在不同裝置之間閱讀進度也能同步,超級方便的啦!

我的EPUB檔案為什麼在某些閱讀器上排版會跑掉?

欸,這真的是很令人頭痛的問題!排版跑掉的原因有很多種,通常可以從以下幾個方面來檢查:

第一個可能,你的EPUB檔案可能沒有通過「EpubCheck」的驗證。如果檔案本身有語法錯誤或不符合標準的地方,不同的閱讀器在解析時就可能產生差異。第二個原因,你的CSS樣式可能寫得太過複雜,或是使用了某些閱讀器不支援的CSS屬性。EPUB閱讀器對CSS的支援度不一,建議盡量使用通用且基礎的CSS語法。再來,如果你嵌入了自定義字體,但字體檔案有問題,或者該閱讀器不支援這種字體嵌入方式,也可能導致文字顯示異常。最後,有些舊款或簡陋的閱讀器,它們對EPUB標準的支援度本來就比較差,即使你的EPUB是完全規範的,也可能因為閱讀器本身的問題而無法完美呈現。最好的解決辦法是,製作完EPUB後,多在幾款主流的閱讀器或App上測試,並且確保你的EPUB通過EpubCheck驗證喔!

我可以把自己的字體嵌入到EPUB檔案裡嗎?

當然可以!嵌入字體是提升電子書視覺風格一致性的一個很棒的方法。你可以將你的字體檔案(通常是.ttf或.otf格式)放入EPUB的`OEBPS/Fonts/`資料夾裡,然後在你的CSS檔案中使用`@font-face`規則來引用它。

不過,有幾點我一定要提醒你:首先是「版權問題」。很多字體都是有版權的,你需要確認你擁有該字體用於數位嵌入的許可,否則可能會侵權喔!其次是「檔案大小」。中文字體檔案通常會比較大,嵌入太多或太大的字體會讓你的EPUB檔案變得非常臃腫,影響下載和閱讀速度。建議你只嵌入關鍵的、且經過授權的字體,並且只嵌入需要的字重(例如只嵌入普通體,不嵌入粗體或斜體),這樣才能在美觀和效率之間取得平衡喔!

製作EPUB需要具備程式設計的知識嗎?

不完全是喔!這要看你選擇哪種製作EPUB的方式了。

如果你只是想快速地將Word或TXT文件轉換成EPUB,使用Calibre這類的轉換工具,基本上不太需要程式設計知識,只需要按照軟體介面操作就行了。但如果你想要更精確地控制排版、加入互動功能,或是製作出更專業、更符合EPUB標準的電子書,那麼學習一些基礎的HTML和CSS語法會非常有幫助!就像使用Sigil編輯器,雖然它提供了所見即所得的編輯模式,但如果你能直接修改底層的HTML和CSS程式碼,你會發現整個編輯過程變得更有效率,也能實現更多樣化的設計。所以說,雖然不是必需品,但具備一些程式設計知識絕對是製作高品質EPUB的加分項喔!

EPUB檔案可以包含音訊或視訊內容嗎?

沒錯!EPUB 3版本就完全支援嵌入音訊和視訊內容,這讓你的電子書不再只是靜態的文字,而是能帶來更豐富的互動和感官體驗!你可以想像一下,在你的旅遊電子書裡直接播放風景介紹的影片,或者在有聲故事書裡嵌入配樂和旁白,是不是超酷的呢?

要實現這個功能,你需要在XHTML檔案中利用HTML5的`

結語:開始你的數位出版之旅吧!

從最簡單的轉換工具到手動編碼,我們今天深入探討了如何做EPUB的各種方法和技巧。無論你是想快速將自己的創作變成電子書,還是立志成為數位出版的專業人士,EPUB都是你不可或缺的工具。

你可能會覺得一開始有點複雜,尤其看到那些程式碼就頭大。但我跟你說,別擔心,這就像學騎腳踏車一樣,一開始可能會跌倒幾次,但只要多練習,多摸索,很快你就能熟練掌握它的!從Calibre入門,慢慢熟悉電子書的結構,然後再挑戰Sigil,學習HTML和CSS,一步步來,你會發現製作EPUB其實充滿了樂趣和成就感。

數位閱讀的浪潮勢不可擋,學會製作高品質的EPUB,不僅能讓你的內容觸及更廣大的讀者群,也能讓你的創作以更現代、更友善的方式呈現。所以,還等什麼呢?現在就動手,開啟你的數位出版之旅,讓你的知識和故事在廣闊的數位世界中綻放光芒吧!

如何做EPUB