文字檔轉換為Kindle MOBI檔的工具:m2m的Step-by-step操作步驟 (更新:直排功能)
最近利用閑暇時間把2015年寫的m2m.exe(參考:KindleGen與Markdown轉換為Mobi的Kindle電子書工具:m2m.exe)用Delphi XE 10.2.3改寫,把文字格式自動轉換為Markdown格式的功能也加進去,對於不熟悉正規運算式轉換語法的朋友們應該會覺得簡單很多。以下是m2m的簡單使用說明。
m2m.exe的用途
m2m.exe代表的是「Markdown To MOBI」的意思,不是物聯網的Machine-to-machine,主要用來把文字格式的電子書轉換成Kindle使用的.MOBI格式。
我們搜尋到的電子書通常是文字格式(.txt),為了更好的閱讀體驗便可以利用m2m.exe將之轉換為.MOBI格式,除了章節標題字體變大,也能有Kindle的目錄巡航等增強功能,產生出.MOBI檔後會複製到網路磁碟機資料夾(我用的是Dropbox)並上傳到網路磁碟,再用IFTTT.com的郵寄操作(由Dropbox傳送到Kindle的接檔信箱),最後Kindle就能收到電子書。
以下是逐步執行的操作步驟。
1. 準備好電子書
首先準備好要轉換的電子書文字檔(範例中使用的三國演義.txt可由此處下載)。
如果文字檔第一行是書名,第二行是作者,則讀檔時會自動填入輸入欄位。
2. 點選電子書檔案
執行m2m.exe,按書名輸入欄位右方的開啟按鈕並點選三國演義.txt,點選後書名輸入欄位會出現電子書的檔名路徑。
3. 開始讀檔
如果要轉換為Markdown格式則勾選【讀檔時轉換為Markdown格式】,若選用檔案已經轉換過則不勾選。按〔1.讀檔〕開始讀檔,有勾選轉換者一併轉換格式。
轉換章節標題的設定在安裝資料夾的m2m.ini,可以按右上方的齒輪按鈕用記事本開啟m2m.ini,找到 [RegularExpressions]:
[RegularExpressions]
^正文 (.*)=$1
^第(.*)章 (.*)=## 第$1章 $2
^第(.*)章(.*),(.*)=## 第$1章 $2·$3
^第(.*)章(.*),(.*)集=第$1章 $2·$3
^第(.*)卷 (.*) 第(.*)章 (.*)=## 第$1卷 $2 第$3章 $4
^第(.*)卷(.*)第(.*)章(.*)=## 第$1卷 $2 第$3章 $4
^第(.*)卷 (.*)=# 第$1卷 $2
^卷(.*) (.*) (.*)章 (.*)$=# 第$1卷 $2\n## 第$3章 $4
^第(.*)章 (.*),(.*)=## 第$1章 $2·$3
^第(.*)章 (.*),(.*)=## 第$1章 $2·$3
^第(.*)章 (.*)=## 第$1章 $2
^第(.*)章:(.*)=## 第$1章 $2
^第(.*)集 (.*)=## 第$1集 $2
^第(.*)節 (.*)=## 第$1節 $2
^第(.*)回 (.*)=## 第$1回 $2
^第(.*)回:(.*)=## 第$1回 $2
^楔子 (.*)=## 楔子 $1
(.*)本帖最後由(.*)編輯(.*)=
^更新時間(.*) 字數:(.*)$=
設定中使用到的運算式符號說明:
- ^表示每行開頭
- (.*)表示數目不定的任意文字,「第(.*回)」運算式則「第一回」、「第四十八回」等都符合
- 等號右邊的\$1、\$2表示等號左邊符合的第一個與第二個內容,例如「第一回」的「一」、「第四十八回」的「四十八」就是\$1
^第(.*)回:(.*)=## 第$1回 $2
的意思是把符合等號左邊的運算式轉換成等號右邊的內容,例如文字內容「第四十八回:宴長江曹操賦詩,鎖戰船北軍用武」符合這個運算式,則「四十八」就是右邊的\$1,「宴長江曹操賦詩,鎖戰船北軍用武」就是\$2,轉換後就變成「## 第四十八回 宴長江曹操賦詩,鎖戰船北軍用武」;轉換後的兩個半形井號表示標題二,字體會變大
標題有個奇怪的問題,文字中有半形或全形逗點時,在.MOBI的內容會被截斷,例如「宴長江曹操賦詩,鎖戰船北軍用武」會變成「宴長江曹操賦詩,」或「宴長江曹操賦詩?」,因此m2m.exe會把標題中的逗點變成黑點以避開這個問題。
如果電子書的標題樣式不在現有的設定中,請自行依格式添加在後。
3.1. 轉直排與空兩格
0.03版增加了段落開頭插入兩個全形空白與直排功能,只要勾選就會產生對應的結果。
因為直排時有些標點符號無法正確的轉直,因此m2m.ini增加了轉換標點符號的設定,其中[SymbolReplace_Horizental]是轉換橫排的標點符號,包括半形逗點轉成全形逗點等,[SymbolReplace_Vertical]則是直排時的標點符號轉換,其中冒號必須換成橫的冒號,但宋體位置不太美觀,但黑體卻又正常...。
4. 讀檔後
讀檔後在下方的訊息框會顯示執行訊息,若有勾選自動轉換Markdown,則會額外產生同名的.markdown檔案,按下勾選欄位右方的按鈕會以記事本開啟三國演義.markdown。
如果檢查.markdown後手動做了調整,那麼要重新選取檔案,選取三國演義.markdown,不勾選自動轉換,再按〔1.讀檔〕以重新讀入修改後的Markdown檔。
5. 產生設定檔
讀檔後按〔2.產生設定檔〕以產生需要的各式檔案,此時右下方會出現檢視設定檔的多個按鈕。
產生的檔案說明如下:
檔案 | 檔案範例 | 說明 |
---|---|---|
書籍內容的HTML檔 | mybook.html | HTML是書籍本文的內容。一本書可以使用多個HTML檔,但為方便我只使用一個HTML檔 |
HTML使用的樣式表 | style.css | HTML檔若有使用CSS樣式就需要本檔 |
目錄的HTML檔 | toc.html | 形成目錄(Table of Contents, toc)的網頁內容 |
目錄的索引檔 | toc.ncx | Kindle 「前往」出現的選單(ncx是Navigation Control file for XML applications) |
封面圖片 | mybook.jpg | 封面圖片可不使用,但缺少時KindleGen較不穩定 |
控制組合的OPF檔 | mybook.opf | OPF是Open Packaging Format,負責將上述檔案組合起來以形成最終的Mobi檔 |
執行的批次檔 | mybook.bat | 用來產生MOBI檔的批次檔,叫用kindlegen.exe並拷貝到輸出目錄 |
真正執行產生.MOBI的是mybook.bat,若有需要做其他操作的話,可以編輯安裝目錄裡的template.bat,自行修改內容,則重新產生的mybook.bat就會是修改後的內容。
6. 檢視產生的檔案
為確認需要的檔案都有正常產生,可點擊右下方的按鈕來檢視其內容,尤其是 toc.ncx 必須正確產生目錄標題,否則無法產生.MOBI檔。
7. 產生MOBI檔
最後按〔3.產生MOBI檔〕則會開啟命令提示字元(DOS視窗)執行mybook.bat,再以下列命令產生MOBI檔:
[安裝目錄]\kindlegen.exe mybook.opf -c1 -dont_append_source
kindlegen產生出的檔名固定為「mybook.mobi」,在mybook.bat裡複製到輸出目錄\書名_作者.mobi。
8. 檢視.MOBI檔
最後按右下角的預覽MOBI檔可以用設定的預覽程式來開啟輸出目錄裡的「書名_作者.mobi」。預覽程式必須另行安裝,可以用Kindle for PC或Kindle Previewer,透過m2m.ini設定好執行檔路徑。
9. 上傳到Kindle接收信箱
Kindle的【設置】→【我的帳戶】→【發送至Kindle 電子郵件地址】可以查到信箱,或由下列網址查詢:
- 美國亞馬遜:https://www.amazon.com/myk
- 中國亞馬遜:https://z.cn/myk
瀏覽ifttt.com並登入後,搜尋「Send files from Dropbox to your Kindle」再設定成自己的Dropbox資料夾與接收信箱,日後只要把.MOBI輸出到Dropbox指定的資料夾,IFTTT.com就會自己寄信到Kindle接檔信箱。
- m2m.ini設定
m2m.ini可以設定下列選項,以符合個別環境:
設定參數 | 說明 |
---|---|
KINDLEGEN | 要指定其他位置的kindlegen.exe時使用,預設直接使用安裝目錄裡的檔 |
LEVEL2_MAX_COUNT | 標題二章節的最多數目 |
OPTIONS | 預設的壓縮等級 |
MOBI_FOLDER | MOBI檔的輸出目錄 |
TEXT_FOLDER | 電子書文字檔的存放目錄 |
HTML | 讀mybok.html的編輯器 |
TEXT | 讀文字檔的編輯器 |
MOBI | 讀.MOBI檔的編輯器 |
如何由橫排改為直排
要產生成由上到下的直排
相關連結
- Kindlegen下載:https://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000765211
- Kindle Previewer下載:https://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000765261
- m2m下載解;壓縮後執行win32\m2m.exe或win64\m2m.exe:
版本 | 釋出日期 | 更新說明 | 下載連結 |
---|---|---|---|
0.02 | 2018/09/29 | 由Lazarus改寫為Delphi XE | 下載 |
0.03 | 2018/10/02 | 段落空兩格與直排 | 下載 |
- 2019/04/22: 按左側到下一頁請更新template.opf到安裝目錄。
##
您可能也會有興趣的類似文章
- 由文字檔產生Kindle .MOBI檔的操作步驟-使用EmEditor+M2M+KindleGen+IFTTT.com (0則留言, 2019/04/15)
- KindleGen與Markdown轉換為Mobi的Kindle電子書工具:m2m.exe (2則留言, 2015/08/30)
- Kindle電子書備份站介紹 (0則留言, 2017/09/24)
- 使用Calibre轉換TXT電子書(含目錄)並傳送至Kindle Paperwhite操作全攻略 (6則留言, 2015/01/02)
- 將電子書檔案傳入Kindle與自動傳檔的方法 (4則留言, 2015/09/16)
- 自製ePub電子書技巧分享;亞馬遜Kindle的輔助工具 (0則留言, 2022/08/14)
- Kindle Paperwhite新手入門簡易操作說明 (0則留言, 2014/12/28)
- Kindle .mobi格式即將無法寄信了 (0則留言, 2022/07/20)
- 新版Kindle for PC/Kindle for Mac無法解除DRM的處理方法 (7則留言, 2019/04/16)
- Kindle自訂字型操作步驟與簡轉繁字型連結 (6則留言, 2018/06/14)
- 移除Kindle DRM以複製電子書到另一部Kindle的作法 (1則留言, 2018/05/17)
- 自炊Kindle電子書-由文字檔到Kindle Mobi檔的完整操作步驟 (2則留言, 2019/08/17)
- 第一次閱讀Kindle版本的電子書;桌面版也很優 (0則留言, 2017/05/02)
- 將Kindle電子書由簡體轉換為繁體的工具與步驟 (0則留言, 2018/06/10)
- 將Kobo電子書轉成Kindle MOBI格式的步驟 Step-by-step (4則留言, 2019/04/07)
您好,我在使用m2m轉檔時,一直無法成功轉成.mobi檔,之前曾經用2015年的程式是可以的,不知道這個部分我哪裡有錯,請指導我修正。
P.S : 我確定toc.ncx有確實產生
Amazon kindlegen(Windows) V2.9 build 1029-0897292
命令行电子书制作软件
Copyright Amazon.com and its Affiliates 2014
信息:I9006:选项:-c1:标准 DOC 压缩
信息:I9018:选项:-donotaddsource:不会添加源文件
信息(prcgen):I1047: 已添加的元数据dc:Title “星移記:羊毛記起源真相(前傳)”
信息(prcgen):I1047: 已添加的元数据dc:Date “2019/6/9”
信息(prcgen):I1047: 已添加的元数据ISBN “123456789Y”
信息(prcgen):I1047: 已添加的元数据dc:Creator “張子漠_譯”
信息(prcgen):I1047: 已添加的元数据dc:Publisher “Andy”
信息(prcgen):I1047: 已添加的元数据dc:Subject “星移記:羊毛記起源真相(前傳)”
信息(prcgen):I1047: 已添加的元数据dc:Description “星移記:羊毛記起源真相(前傳)”
信息(prcgen):I1002: 解析文件 0000002
信息(prcgen):I1015: 创建 PRC 文件
信息(prcgen):I1006: 分析超链接
警告(prcgen):W14001: 超链接出现问题,尚未解决: D:\Applications\m2mportable\win64\mybook.html#SECTION_1
警告(prcgen):W14002: 一些超链接中的问题无法解决。
信息(prcgen):I1008: 分析读取起始位置
错误(prcgen):E24010:无法解析目录中的超链接(一个可能的原因是此链接指向带“样式显示:无 (style display:none)”的标签):D:\Applications\m2mportable\win64\mybook.html#SECTION_1
错误(prcgen):E24001: 无法创建目录。
信息(prcgen):I1049: 创建目录 网址: D:\Applications\m2mportable\win64\toc.ncx
信息(prcgen):I1016: 创建改进的 PRC 文件
信息(prcgen):I1007: 分析媒体链接
信息(prcgen):I1011: 写入媒体链接
信息(prcgen):I1009: 分析指导项
信息(prcgen):I1038: 由于出现错误,无法生成 MOBI 域名文件!
D:\Applications\m2mportable\win64>echo 16:58:13.95
16:58:13.95
D:\Applications\m2mportable\win64>copy mybook.mobi “K:\小說\Mobi\星移記:羊毛記起源真相(前傳)張子漠譯.mobi” /y
The system cannot find the file specified.
D:\Applications\m2mportable\win64>pause
Press any key to continue . . .
可能是沒有章節符號,可檢查 toc.ncx:
是否沒有第一章的內容。
可以在電子書文字檔中點加一行 ## BEGIN, 兩個井號在第一個位置。
再讀檔重新執行。
請問若是TXT檔的章節標題是特殊符號,應如何設定,EX☆、Chapter 1, 建入☆、Chapter (.)=## ☆、Chapter (.)一直查無#標題,顯示失敗。
另外,請問是否有打算寫成可與Mac OS相容的版本呢?發現Mac版要找到怎麼可直書轉Mobi轉換很難100% 完美(自己怎麼轉直書,Mobi檔的標點符號怎麼轉都失敗),而天火藏書只要超過300章,章節的功能就失敗了,只好回到PC作業下執行。
更正是^☆、Chapter 1, 建入☆、Chapter (.)=## ☆、Chapter (.)一直失敗
我用下列設定可以正確產生:
等號後面要用$1
事實上m2m 0.04有產生MacOS 32-bit的程式,但一直沒時間仔細測試,因此並未釋出。
另外,新版效能不佳,若不介意橫排,使用舊版會比較快。請參考新錄的介紹操作影片:https://youtu.be/dovPtBQN_8E。
感謝回覆,晚一點試試設定看看,是否可以轉出目錄。
所謂的Mac版仔細測試是使用者測試還是程式的測試,若是前者,我可以自願測試並反饋問題,若是後者就幫不上忙了。
新版效能不佳指的是?其實個人習慣就是覺得小說或者是文學類的書籍應該要直排,所以才一直在想辦法轉成直排。
另外,若是PC版新版轉出來有問題,是否也可以反應呢??
有幾個問題
1. 為什麼直式的版本,翻頁並不像是其他家的直式,是由左側翻頁,m2m轉出來的是右側翻頁?
2. 發現在Kindle PW3左右兩邊常常會很擠,請問左右兩側是否有辦法留點白?
左右翻頁的問題解了,至於左右留白的問題,最近還沒時間專注的使用Kindle 待有問題再反應,感謝!!
@凱西: 請更新 style_vertical.css, 或直接修改style_vertical.css,最後一組 0 0 2em 2em改成 0 2em 2em 2em (分別是上右下左的邊界值)