過 Amazon Kindle 官方商店購買電子書,可以輕松實現「下單買電子書 - 推送至 Kindle」,但僅僅依靠官方商店渠道獲取的電子書數量可能還不足夠,Kindle 用戶選擇從網上其他渠道下載回來的電子文件,大多數是 pdf、epub 格式,直接放在 Kindle 設備上,會面臨格式不支持或者內容排版變形等問題。
為了解決以上的問題,我收集了幾款本地工具和在線工具的解決方案,幫助大家輕松應對電子書格式轉換,在 Kindle 上獲得即點即開的閱讀體驗。
Kindle 設備目前原生支持 mobi、azw 和 azw3 三種電子書格式,其中 mobi、azw 是較早推出的格式標準,而 azw3 是在 2011 年 Kindle Fire 平板一并推出的格式,由于其支持 HTML5 和 CSS3 語法,最后輸出的內容有著較好的排版支持效果。
對于電子書格式轉換需求,下面收集了四款本地工具,有 Amazon 官方出品的 KindleGen、Kindle Comic Creator,也有最熱門的本地電子書管理工具 Calibre,而 EasyPub、Kindle Comic Converter 和 ChainLP 解決了其他文檔格式轉換的問題。
KindleGen
KindleGen是一款亞馬遜官方推出的電子書格式免費轉換工具,主要功能是將 HTML、XHTML 或者 epub 文檔轉換成 Kindle 設備兼容的 mobi 格式。KindleGen 實際上是一款命令行工具,支持 Windows、Mac 和 Linux 平臺,以將 epub 格式的《1984》轉換成 mobi 為例子,具體使用步驟:
1.下載并解壓 KindleGen 壓縮包,由于亞馬遜 官方頁面暫時不支持中國區下載,建議大家在書伴頁面找到百度網盤下載壓縮包;
2.比如將壓縮包解壓到文件路徑 D:\KindleGen
,打開 Windows 命令提示符,輸入D:\KindleGen\kindlegen
,系統將反饋 KindleGen 的使用說明;
3.比如將《1984》電子書放在 D:\ebook
,命令行窗口輸入cd /d D:\ebook
進入電子書所在的目錄文件位置;
4.輸入 D:\KindleGen\kindlegen 1984.epub
,轉換成功后自動在 epub 源文件的目錄位置生成 1984.mobi 文件。
另外還有一個更簡便的方法,將 1984.epub 文件直接拖拽至 kindlegen.exe 應用程序圖標上,KindleGen 工具會自動彈出轉換的頁面,并在源文件的位置下生成 mobi 文件。
Kindle Comic Creator
Kindle Comic Creator則是一款亞馬遜官方專門為漫畫作者和出版商推出的漫畫轉電子書的免費工具,適用 Windows、Mac 平臺,支持將 JPG、PDF、TIFF、PNG 和 PPM 轉換成 mobi 電子書。提前準備好幾張示例圖片后,KCC 使用步驟如下:
1.打開 KCC 主界面后,選擇創建新圖書,彈出創建窗口,按步驟填寫「面板選擇」和「元數據和設置」的選項,包括了圖書定位、翻頁方向、畫布大小、封面圖片和輸出保存的位置;
2.完成基本信息輸入后,進入圖像添加的編輯界面,在左邊欄的圖書管理器中,圖書設置和頁面設置中提供了更詳細的元數據和頁面調整的選項,右邊欄有 Kindle 設備預覽效果;
3.選擇菜單欄「文件 - 導出為 KF8 圖書」輸出生成 mobi 電子書文件(快捷鍵 F5
直接在制定目錄生成轉換文件)。
除了亞馬遜官方出品的 KCC 軟件外,ChainLP、Kindle Comic Converter也能夠把漫畫圖片輕松轉換成 epub、mobi 格式文檔。
Calibre
Calibre是一款電子書管理工具神器,也提供了格式轉換功能,支持 Windows、Mac 和 Linux 平臺,甚至提供了便攜綠色版本,我們通過內置的命令行工具 ebook-convert 或者圖形界面完成各種電子書格式轉換。
ebook-convert命令語法是:
ebook-convert input_file output_file [options]
參照 Calibre wiki 文檔、 顯示,input_file 支持輸入的格式 azw4、chm、comic、docx、epub、fb2、html、mobi、pdf、txt 等格式,output_file 則支持輸出 azw3、docx、epub、html、mobi、 pdf、txt 等主要格式。
輸入如下命令,實現將 1984.epub 文件轉換成 1984.mobi 文件格式。
ebook-convert 1984.epub 1984.mobi
圖形界面。Calibre 主界面中選中書籍后,在工具欄選擇「轉換書籍」打開轉換界面,接著在右上角的輸出格式選項,選擇希望輸出的文檔格式(支持輸入格式參照 ebook-convert 命令行介紹部分 )。另外亞馬遜近期推出較新的電子書格式 KFX,如果需要將 KFX 和其他格式互轉的話,可以嘗試安裝 Calibre 插件 KFX Input 以及 KFX Output。
EasyPub
跟 Calibre 提供一站式電子書解決方案不同之處在于,EasyPub 提供功能相對單一,它是一款針對 TXT 轉換成 mobi、epub 格式的免費工具,僅支持 Windows 系統,下載地址在書伴網 頁面搜索即可。
在格式轉換的設置標簽頁中,用戶可以利用章節部分的調整選項,通過文檔的章節規則生成較好的文件目錄。
如果用戶經常從網絡中下載的文檔以 TXT 格式為準,那么 EasyPub 這款純粹單一的轉換工具能夠滿足大部分需求。
除了以上四款本地工具外,在線工具同樣能夠滿足電子書格式轉換需求,其優勢是免除了安裝應用程序的繁瑣操作,不占用本地空間資源,隨用隨打開在線頁面。
Convertio
Convertio支持各類文檔格式相互轉換、OCR 識別功能,通過超鏈接、Dropbox 和 Google Drive 導入文件,注冊賬戶支持最大 100MB 文件大小。最省心的地方在于,用戶上傳文件后,Convertio 將自動識別上傳文件的格式,給出轉換成對應格式的選項。在電子書格式轉換中,Convertio 電子書轉換支持輸出 mobi、azw3、epub 常見格式,也支持轉換成 lrf、snb、rb 等較少見的電子書格式。
Kindle 郵箱
Kindle 郵箱除了解決了文件推送到 Kindle 設備的問題外,還能夠「曲線救國」解決 epub 格式在 Kindle 閱讀器上閱讀,只需要將 epub 文件格式手動改為 zip,再通過電郵方式推送到 Kindle 個人郵箱,亞馬遜個人文檔云存儲將自動轉換格式后推送到 Kindle 設備中,用戶直接打開文檔即可閱讀。
或許 Kindle 吃灰的原因不在于電子書格式轉換的問題,但以上推薦的六款工具可以很好解決大家從網上下載和制作的文檔后,轉換成 Kindle 設備支持閱讀的格式,本地工具憑著更豐富的轉換設置選項更細致地調整轉換效果,在線工具則有著「用完即刪、隨用隨開」的優勢。希望這篇工具合輯讓 Kindle 電子書格式轉換的問題,不再成為大家閱讀電子書的「絆腳石」。
spose.Words For .NET是一種高級Word文檔處理API,用于執行各種文檔管理和操作任務。API支持生成,修改,轉換,呈現和打印文檔,而無需在跨平臺應用程序中直接使用Microsoft Word。此外,API支持所有流行的Word處理文件格式,并允許將Word文檔導出或轉換為固定布局文件格式和最常用的圖像/多媒體格式。
Aspose.Words for .NET官方最新版免費下載試用,歷史版本下載,在線文檔和幫助文件下載-慧都網
Aspose.Words無需Microsoft Word也可在任何平臺上滿足Word文檔的一切操作需求。本文將與大家分享如何將文檔轉換為EPUB。
EPUB文檔(電子出版物的簡稱)是基于HTML的格式,通常用于電子書分發。Aspose.Words完全支持這種格式,用于導出與大多數閱讀設備兼容的電子書。本文介紹如何使用代碼將簡單的MS Word文檔轉換為EPUB。它還演示了使用Aspose.Words轉換為EPUB后樣本文檔的樣子。
此代碼示例使用默認的保存選項將文檔轉換為EPUB。你可以從此處下載此示例的模板文件。
你可以通過將HtmlSaveOptions的實例傳遞給Document.Save方法來指定選項。模板文件的代碼片段展示了其中的一些操作。此代碼示例將文檔轉換為EPUB,并指定了保存選項。
接下來我們將回顧轉換為EPUB格式的示例文檔的效果。以下屏幕截圖顯示了主要功能。
下圖顯示了轉換為EPUB后的文本格式功能。
下圖顯示了轉換為EPUB后的文本格式功能。
下圖顯示了盡管表格很復雜,但轉換后的表格呈現也不錯。
即使是源文檔中的復雜列表也可以很好地導出到EPUB。
轉換后的圖像效果。
此圖顯示了從源文檔生成的目錄,該文檔作為帶有超鏈接的內聯文本導出。組成源文檔中TOC的相同標題將導出到EPUB中的導航窗格以便于導航。
如果Aspose.Words生成的EPUB文檔通過了驗證,這意味著此文檔遵守EPUB標準并且此EPUB文檔沒有錯誤。即使通過了驗證也并不能保證每個設備或EPUB查看器都以完全相同的方式顯示文檔。但是,它確實也能使你的文檔盡可能的接近預期。
下圖顯示了我們剛剛在其中一個驗證服務上轉換的文檔的報告。
元數據是一種附加信息,例如作者姓名,標題,評論等,添加到文件本身內容中不可見的地方。 Word文檔格式具有專用于此類元數據的特殊屬性,并且也可以導出到EPUB文件。分銷商和電子書商店經常要求元數據字段作為其搜索引擎的關鍵字,并為客戶提供有關圖書的信息。
下圖顯示了轉換后的元數據
譯自: https://opensource.com/article/18/10/book-to-website-epub-using-pandoc
作者: Kiko Fernandez-reyes
譯者: jlztan
通過 Markdown 和 Pandoc,可以做到編寫一次,發布兩次。
Pandoc 是一個命令行工具,用于將文件從一種標記語言轉換為另一種標記語言。在我 對 Pandoc 的簡介 一文中,我演示了如何把 Markdown 編寫的文本轉換為網頁、幻燈片和 PDF。
在這篇后續文章中,我將深入探討 Pandoc ,展示如何從同一個 Markdown 源文件生成網頁和 ePub 格式的電子書。我將使用我即將發布的電子書《 面向對象思想的 GRASP 原則 》為例進行講解,這本電子書正是通過以下過程創建的。
首先,我將解釋這本書使用的文件結構,然后介紹如何使用 Pandoc 生成網頁并將其部署在 GitHub 上;最后,我演示了如何生成對應的 ePub 格式電子書。
你可以在我的 GitHub 倉庫 Programming Fight Club 中找到相應代碼。
我用 Markdown 語法完成了所有的寫作,你也可以使用 HTML 標記,但是當 Pandoc 將 Markdown 轉換為 ePub 文檔時,引入的 HTML 標記越多,出現問題的風險就越高。我的書按照每章一個文件的形式進行組織,用 Markdown 的 H1 標記(#)聲明每章的標題。你也可以在每個文件中放置多個章節,但將它們放在單獨的文件中可以更輕松地查找內容并在以后進行更新。
元信息遵循類似的模式,每種輸出格式都有自己的元信息文件。元信息文件定義有關文檔的信息,例如要添加到 HTML 中的文本或 ePub 的許可證。我將所有 Markdown 文檔存儲在名為 parts 的文件夾中(這對于用來生成網頁和 ePub 的 Makefile 非常重要)。下面以一個例子進行說明,讓我們看一下目錄,前言和關于本書(分為 toc.md、preface.md 和 about.md 三個文件)這三部分,為清楚起見,我們將省略其余的章節。
關于本書這部分內容的開頭部分類似:
# About this book {-}
## Who should read this book {-}
Before creating a complex software system one needs to create a solid foundation.
General Responsibility Assignment Software Principles (GRASP) are guidelines to assign
responsibilities to software classes in object-oriented programming.
每一章完成后,下一步就是添加元信息來設置網頁和 ePub 的格式。
我創建的網頁的元信息文件(web-metadata.yaml)是一個簡單的 YAML 文件,其中包含 <head> 標簽中的作者、標題、和版權等信息,以及 HTML 文件中開頭和結尾的內容。
我建議(至少)包括 web-metadata.yaml 文件中的以下字段:
---
title: <a href="/grasp-principles/toc/">GRASP principles for the Object-oriented mind</a>
author: Kiko Fernandez-Reyes
rights: 2017 Kiko Fernandez-Reyes, CC-BY-NC-SA 4.0 International
header-includes:
- |
```{=html}
<link rel="stylesheet">
<link rel="stylesheet">
```
include-before:
- |
```{=html}
<p>If you like this book, please consider
spreading the word or
<a >
buying me a coffee
</a>
</p>
```
include-after:
- |
```{=html}
<div class="footnotes">
<hr>
<div class="container">
<nav class="pagination" role="pagination">
<ul>
<p>
<span class="page-number">Designed with</span> ?? <span class="page-number"> from Uppsala, Sweden</span>
</p>
<p>
<a rel="license" ><img alt="Creative Commons License" style="border-width:0" src="http://www.jungjaehyung.com/uploadfile/2024/0807/20240807024446463.png" /></a>
</p>
</ul>
</nav>
</div>
</div>
```
---
下面幾個變量需要注意一下:
這些只是其中一部分可用的變量,查看 HTML 中的模板變量(我的文章 Pandoc簡介 中介紹了如何查看 LaTeX 的模版變量,查看 HTML 模版變量的過程是相同的)對其余變量進行了解。
網頁可以作為一個整體生成,這會產生一個包含所有內容的長頁面;也可以分成多章,我認為這樣會更容易閱讀。我將解釋如何將網頁劃分為多章,以便讀者不會被長網頁嚇到。
為了使網頁易于在 GitHub Pages 上部署,需要創建一個名為 docs 的根文件夾(這是 GitHub Pages 默認用于渲染網頁的根文件夾)。然后我們需要為 docs 下的每一章創建文件夾,將 HTML 內容放在各自的文件夾中,將文件內容放在名為 index.html 的文件中。
例如,about.md 文件將轉換成名為 index.html 的文件,該文件位于名為 about(about/index.html)的文件夾中。這樣,當用戶鍵入 http://<your-website.com>/about/ 時,文件夾中的 index.html 文件將顯示在其瀏覽器中。
下面的 Makefile 將執行上述所有操作:
# Your book files
DEPENDENCIES= toc preface about
# Placement of your HTML files
DOCS=docs
all: web
web: setup $(DEPENDENCIES)
@cp $(DOCS)/toc/index.html $(DOCS)
# Creation and copy of stylesheet and images into
# the assets folder. This is important to deploy the
# website to Github Pages.
setup:
@mkdir -p $(DOCS)
@cp -r assets $(DOCS)
# Creation of folder and index.html file on a
# per-chapter basis
$(DEPENDENCIES):
@mkdir -p $(DOCS)/$@
@pandoc -s --toc web-metadata.yaml parts/$@.md \
-c /assets/pandoc.css -o $(DOCS)/$@/index.html
clean:
@rm -rf $(DOCS)
.PHONY: all clean web setup
選項 - c /assets/pandoc.css 聲明要使用的 CSS 樣式表,它將從 /assets/pandoc.cs 中獲取。也就是說,在 <head> 標簽內,Pandoc 會添加這樣一行:
<link rel="stylesheet" href="/assets/pandoc.css">
使用下面的命令生成網頁:
make
根文件夾現在應該包含如下所示的文件結構:
.---parts
| |--- toc.md
| |--- preface.md
| |--- about.md
|
|---docs
|--- assets/
|--- index.html
|--- toc
| |--- index.html
|
|--- preface
| |--- index.html
|
|--- about
|--- index.html
通過以下步驟將網頁部署到 GitHub 上:
你可以在 GitHub Pages 的網站上獲得更多詳細信息。
我的書的網頁 便是通過上述過程生成的,可以在網頁上查看結果。
ePub 格式的元信息文件 epub-meta.yaml 和 HTML 元信息文件是類似的。主要區別在于 ePub 提供了其他模板變量,例如 publisher 和 cover-image 。ePub 格式圖書的樣式表可能與網頁所用的不同,在這里我使用一個名為 epub.css 的樣式表。
---
title: 'GRASP principles for the Object-oriented Mind'
publisher: 'Programming Language Fight Club'
author: Kiko Fernandez-Reyes
rights: 2017 Kiko Fernandez-Reyes, CC-BY-NC-SA 4.0 International
cover-image: assets/cover.png
stylesheet: assets/epub.css
...
將以下內容添加到之前的 Makefile 中:
epub:
@pandoc -s --toc epub-meta.yaml \
$(addprefix parts/, $(DEPENDENCIES:=.md)) -o $(DOCS)/assets/book.epub
用于產生 ePub 格式圖書的命令從 HTML 版本獲取所有依賴項(每章的名稱),向它們添加 Markdown 擴展,并在它們前面加上每一章的文件夾路徑,以便讓 Pandoc 知道如何進行處理。例如,如果 $(DEPENDENCIES 變量只包含 “前言” 和 “關于本書” 兩章,那么 Makefile 將會這樣調用:
@pandoc -s --toc epub-meta.yaml \
parts/preface.md parts/about.md -o $(DOCS)/assets/book.epub
Pandoc 將提取這兩章的內容,然后進行組合,最后生成 ePub 格式的電子書,并放在 Assets 文件夾中。
這是使用此過程創建 ePub 格式電子書的一個 示例 。
從 Markdown 文件創建網頁和 ePub 格式電子書的過程并不困難,但有很多細節需要注意。遵循以下大綱可能使你更容易使用 Pandoc。
via: https://opensource.com/article/18/10/book-to-website-epub-using-pandoc
作者: Kiko Fernandez-Reyes 選題: lujun9972 譯者: jlztan 校對: wxy
本文由 LCTT 原創編譯, Linux中國 榮譽推出
*請認真填寫需求信息,我們會在24小時內與您取得聯系。