星期四, 11月 27, 2025

NOVEL-smart-merge:EPUB 智慧合併腳本

下載連結


此腳本負責將「舊完整 EPUB」與「差分 EPUB」智慧合併,產生結構乾淨、內容統一、CSS 樣式一致的新 EPUB。特別適用於小說長期更新、反覆合併。

設計上特別針對AozoraEpub3 下載後(AozoraEpub3 能夠選擇只下載指定的最新幾個章節),交由 AiNiee 翻譯,並且採用中日對照模式的EPUB檔案。

這個腳本處理上述檔案時作了以下幾件事:

1.將檔案排版做調整,刪除多餘空行,並且加入讓日文變淡的CSS格式,但這些效果只對AiNiee 翻譯的檔案有效。

2.讀取兩個EPUB檔案後合併成一個,目錄也重新製作。

3.如果偵測到AozoraEpub3抓取檔案時會加入的扉頁,也就是小說簡介,會自動刪除重複的檔案,(因為後續產生的差分新連載EPUB每一次都會有這部分,不刪除重複非常煩人),原則上預設保留差分檔案裡的,以確保EPUB裡面小說簡介是作者的最新內容。

4.如果偵測到AozoraEpub3抓取檔案時自動加入的紀錄頁,同樣會刪除舊的,只保留最新那個。



一、環境需求

請先安裝以下 Python 套件:

pip install ebooklib beautifulsoup4 lxml

不需要其他額外套件(例如 chardet,不需要)。

Python 版本建議:3.8 以上。


二、檔案準備方式

將以下檔案放到同一個資料夾(INPUT_DIR 指向的位置):

  1. 舊完整 EPUB
    檔名結尾必須為:

    _old.epub
  2. 差分 EPUB(通常是最新更新章節)
    檔名結尾必須為:

    _translated.epub

例如:

MyNovel_old.epub MyNovel_translated.epub

完成後,腳本會在同資料夾輸出:

MyNovel_merged.epub

三、設定參數(可在腳本前段自行修改)

腳本前方的「配置區」可調整資料夾與行為:

INPUT_DIR = r"G:\WORK\NOVEL" OUTPUT_DIR = r"G:\WORK\NOVEL" OLD_FULL_SUFFIX = "_old.epub" TRANSLATED_DIFF_SUFFIX = "_translated.epub" OUTPUT_SUFFIX = "_merged.epub"

其他常用設定:

  • AUTO_DETECT_FRONT_MATTER = True
    自動偵測扉頁。若有需要用固定檔名判斷,可設 False。

  • REMOVE_EMPTY_LINES = True
    自動清理 <p><br/></p> 空行。

  • LANG_ORDER = 'AUTO'
    雙語內容自動判斷中日順序。

  • TOC_TITLE_MODE = 'JA_ONLY'
    目錄標題預設採用日文。


四、使用流程

  1. 確認 INPUT_DIR、OUTPUT_DIR 設定正確

  2. 確認舊檔與差分檔命名符合規則

  3. 執行腳本:

    python epub-merge.PY
  4. 程式會自動:

    • 載入舊 EPUB、差分 EPUB

    • 分析章節與 TOC

    • 建立統一 CSS

    • 修正圖片路徑並重新命名圖片

    • 清理空行、處理雙語段落

    • 建立新的 spine 與 toc

    • 生成新的 EPUB

  5. 完成後可於 OUTPUT_DIR 找到:

    XXX_merged.epub

五、輸出特性

生成的 EPUB 具備以下特點:

  1. 統一 CSS(清爽、可控、支援滿版圖片)

  2. 章節重新命名與排序

    • front_xx.xhtml

    • chapter_xxxx.xhtml

    • record.xhtml(若存在)

  3. 圖片全部重新整理
    存放於 image/img_0001.jpg 等新路徑

  4. TOC 清理與去重
    保證結構不會越合併越亂

  5. 自動偵測扉頁(可關閉)

  6. 日中對照合併顯示
    依配置放置於 <span lang="zh"><span lang="ja">


六、常見問題

1. 找不到差分檔案

請確認差分 EPUB 名稱符合:

[主檔名]_translated.epub

2. EPUBCheck 錯誤是否會產生?

本工具會:

  • 移除危險或不規範的標記

  • 清理空行

  • 統一 HTML 結構

一般情況下可通過 EPUBCheck。

七、完整自動批次

腳本預設支援批次處理,只要同資料夾內有多組:

A_old.epub / A_translated.epub B_old.epub / B_translated.epub C_old.epub / C_translated.epub

一次執行就會全部合併。


 

星期日, 11月 16, 2025

EPUB 批次簡體中文轉繁體中文 + 結構及封面修復工具

https://drive.google.com/file/d/1wCpXbbwenkdc6Mq7miO51eW7jnU3xtHb/

最近叫AI寫的  基本上就是AI的本事

功能:

1.修復大部分常見,而且適合用腳本自動修復的EPUB 錯誤。

2.修復封面 - 處理如果原始檔案的封面頁寫得很雜,結果電子書閱讀器的書架沒辦法抓到封面,明明檔案裡有封面但書架就是空白的情況。

3.簡體轉繁體,使用OPENCC套件,預設是S2TWP (轉換台灣用語)模式 可以自己去改


以下使用說明


epub_convfix.py 是一個用來批次修復 EPUB 結構、路徑、封面、語法、錯誤引用,並可選擇執行簡繁轉換的工具。
把 EPUB 丟進輸入資料夾後,腳本會自動處理並輸出修正版。


1. 系統需求

你需要安裝下列 Python 套件:

lxml opencc-python-reimplemented

快速安裝方式:

pip install lxml opencc-python-reimplemented

腳本本身不需要 chardet。


2. 檔案放置結構

腳本執行前,必須確認下列路徑設定:

INPUT_FOLDER = r"G:\WORK\EPUBWAIT" OUTPUT_FOLDER = r"G:\WORK\EPUB"

請將所有要修復的 EPUB 放到 INPUT_FOLDER
修復後的 EPUB 會輸出到 OUTPUT_FOLDER


3. 三大功能開關(最重要)

腳本最主要的三個設定是:

ENABLE_CONVERSION = True # 簡繁轉換 AUTO_FIX_COVER = True # 自動修復封面 metadata REPAIR_MODE = 'standard' # 修復模式

你通常只需要調整這三項。

ENABLE_CONVERSION

是否將內容簡繁互轉。
True 表示啟用,False 不轉換。

AUTO_FIX_COVER

是否自動找出封面圖片並建立 metadata。

REPAIR_MODE(主要修復強度)

可用模式:

模式說明
minimal只修致命錯誤,不動內容
safe修路徑和連結,不改 HTML
standard(預設)綜合模式,修語法但不破版
strict為通過檢查而強制改 HTML(可能破版)
custom完全依照你底下的細部設定

一般建議用 standard


4. 執行步驟

Step 1

將要處理的 EPUB 放入 INPUT_FOLDER

Step 2

依需求調整腳本「最上方的 USER CONFIG」。

Step 3

執行:

python epub_convfix.py

Step 4

處理完成後,你會在 OUTPUT_FOLDER 找到修復後的檔案。

輸出的檔名會加上後綴:

OUTPUT_SUFFIX = "_tw_fixed"

例如:

MyBook.epub → MyBook_tw_fixed.epub

5. 常見情境建議設定

若你只想修結構、路徑、封面,不碰內容:

ENABLE_CONVERSION = False REPAIR_MODE = 'safe'

若你要大量 EPUB 清理與修正(推薦):

ENABLE_CONVERSION = True REPAIR_MODE = 'standard'

若你一定要讓 EPUBCHECK 過關:

REPAIR_MODE = 'strict'

6. 執行結果檢視

腳本最後會顯示一份摘要,包括:

  • 修復了哪些項目

  • 哪些文件跳過(如 DRM)

  • 有無轉換錯誤

  • resource mapping、死連結、invalid id、缺失圖片等修復的次數

你不需要解讀技術細節,只要看最後顯示是否發生嚴重錯誤。


星期日, 7月 14, 2024

AozoraEpub3(改造版)的安裝

 


以前AozoraEpub3(改造版)就可以抓小説家になろう並且轉換成EPUB

https://github.com/kyukyunyorituryo/AozoraEpub3


但在小説家になろう改版成每一百章會換頁之後


舊版的AozoraEpub3就不能抓第二頁之後的內容了

而新版的他一直有BUG無法運作

現在作者終於改版好了 但是要加裝一堆其他套件 作者寫的說明我看不懂

然後GOOLE到別人的說明

https://qiita.com/kokotaro@github/items/4a45e1314a5b459f8546

基本上需要的是

https://adoptium.net/   的JDK  

https://rubyinstaller.org/downloads/    的Ruby+Devkit 3

總算裝好正常運作了


附記:使用時須到WEB這個頁面,在UA設定裡選一個導覽器

電子書翻譯

 過去使用過的工具是

1.calibre + Ebook-Translator-Calibre-Plugin

2.沈浸式翻譯

3.電子書機翻機器人


第1第2之前是配合CHATGPT

第3個很好用

但是它的作法侵犯版權毫不避諱 怎麼看都會在未來某天吃一下版權砲


所以要想一想替代方案


上個禮拜安裝了 OLLAMA 這個軟體

可以無腦安裝

配合chrome的外掛PAGE ASSIST

可以毫無困難的在自己電腦裡使用很多家的模型 (包括SAKARA 14B)


然後找到下面這些說明

https://github.com/bookfere/Ebook-Translator-Calibre-Plugin/discussions/286
https://immersivetranslate.com/zh-TW/docs/services/ai/

可以讓 Ebook-Translator-Calibre-Plugin 呼叫OLLAMA
直接用自己電腦裡的模型來翻譯

而且所有東西的安裝過程沒什麼難度


順便備份一下  Ebook-Translator-Calibre-Plugin 設定

-------------------------

{
  "name": "Ollama - Qianwen",
  "languages": {
    "source": {
      "English": "en"
    },
    "target": {
      "Chinese": "Chinese"
    }
  },
  "request": {
    "url": "http://127.0.0.1:11434/api/generate",
    "method": "POST",
    "headers": {
      "Content-Type": "application/json"
    },
    "data": {
      "model": "qwen:7b",
      "stream": false,
      "prompt": "Translate the content from <source> to <target>: <text>",
      "n_predict": 128
    }
  },
  "response": "response['response']"
}  


--------------------
以及系統設定
  • Windows
    • 在控制面板-系統屬性-環境變量-用戶環境變量新建變量名"OLLAMA_HOST"變量值"0.0.0.0",變量名"OLLAMA_ORIGINS"變量值"*"

星期六, 2月 23, 2008

未來寫真館

未来照片館
許力元の未来照片
by ふりーむ! 無料ゲーム/フリーゲーム



恩........怎麼看起來很正經的樣子 這玩意的惡搞圖明明很多的

星期六, 1月 12, 2008

宜蘭之行

最近去宜蘭了兩趟,一次是去玩的,一次則是去辦事情。



不過不管哪一次,我想我想我被這個都市的美麗給灌醉了,只是手機拍照實在效果不好,就不多貼照片了

星期六, 11月 10, 2007

D3DWindower

可以強迫directx的程式視窗化的小工具

google去查的話,多半找到的是對岸的網站

原始連結應該是下面這個
http://www.geocities.jp/menopem/

星期六, 6月 16, 2007

Netscape Navigator 9.0

Netscape Navigator 9.0 出了



這些年來,Netscape的影響力似乎怎樣都起不來,不過現在這個版本應該對於火狐眾有相當的吸引力:相容firefox套件以及更好的記憶體管理。
至少我已經換了啦 XD

星期三, 5月 30, 2007

死刑的命運與威懾效應

前陣子google到的東西: 死刑的命運與威懾效應 -梁根林

可能是我讀過反死刑說帖裡面比較讓我滿意的一篇,這些東西也不是什麼獨門秘方,但是台灣這邊給此搜尋期刊論文就是沒有這樣的東西,難道說學術界已經把這個當作早有定見,無須再討論的項目了嗎XD

星期五, 5月 25, 2007

OPEN PCMan 的圖示 (nuoveXT)

使用的是 nuoveXT 1.6這組圖示,這組圖示非常的漂亮,不過跟noia、nuvola比起來圖示種類少了點,也沒有網路連線、斷線的示意圖,只能用其他圖示來替代,

Toolbar

Toolbar

Webbar

icons

這組圖示是GPL授權釋出的

下載點

星期四, 5月 24, 2007

OPEN PCMan 的圖示 (nuvola)

另一個風格的工具列圖示 圖示採用的是知名的nuvola,不用說 ,當然是GPL授權

Toolbar

Toolbar

icons

Webbar

下載點

星期日, 2月 11, 2007

被車撞

1月25日,生日的前一天晚上,出去買晚餐的時候被車撞(走路,對方是機車)
左肩骨折,頭縫八針;現在肩膀打鋼釘,其他暫時看來沒什麼事。

仔細想想我好像每隔幾年就會出一次事情,真不知道該怎麼說才好。

星期日, 1月 21, 2007

OPEN PCMan 的圖示 (NOIA)

PCman 開放原始碼了 http://rt.openfoundry.org/Foundry/Project/?Queue=744
這當然是好事一件,不過原來用的圖示也因為開放原始碼的關係不能包在一起,以至於這幾天拿到剛釋出版本的人狀況連連,所以我就花時間幫忙找了組合乎授權的圖示提交官網

圖示名稱:NOIA GPL 授權

Toolbar

Toolbar2

icons

Webbar

按此下載:下載點

星期一, 1月 08, 2007

看房子

鄰居聽說也在桃園工作,最近跟家裡問我有沒有意願去他那裡分租個房間。
實際上我並不認識他,他們這一家是在我「空白的五年間」搬過來的,一直以來他們並不是這麼熟悉的對象;總之今天人也見了,房子也去看了,其實環境、房子本身也不能算很差,但是搬過去意願還是很低,,對我來說最不滿意的部份,可能還是缺乏一種可以關起門來誰也不見得氣氛。不過到最後,很有可能會在比較便宜的理由上,被迫搬家吧

順便記下塔羅牌抽牌的結果:皇帝逆、星星逆、杯四逆 (這是怎樣......自言自語嗎)

星期四, 12月 14, 2006

大公無私

今天一時興起,看了看hotmail的廣告信件欄..........恩? 這該叫做大公無私嗎 XD

micro

廣告信得封鎖層級是加強層級,不是最高的進階層級

星期三, 11月 29, 2006

南方公園風格圖像

southpark me

有朋友對這個圖像頗感興趣,其實到下面這個網站就可以自己畫一個
http://www.sp-studio.de/

這個東西之前還曾在BLOG界引起流行,每個人爭相弄個自己的圖像,
不過像不像還是要靠自己的功力,我畫的這個像嗎 :Q

星期一, 11月 20, 2006

桌面美化

稍微玩了一下,把自己桌面變成這個樣子

ClipBoard-1

使用的軟體:Rainlendar、Rainmeter、Windowsblinds、RockerDock

星期一, 11月 13, 2006

NEC植樹計畫

只要在這個地方留言,每累計30個人,NEC公司就會在嘉義種一棵樹,
(每個人每天限留言一次)

其實這是一種財團花錢作公益搏形象,希望多一點人看到的方法 ,不過管他那麼多,
只要動動手讓他們多種幾顆樹,又何樂不為呢?

星期六, 11月 11, 2006

版面變更

利用下午的一些時間把這裡的寬度調寬一點,
blogger的優點是什麼都可以改,缺點之一也正是什麼都可以改,這邊沒有userfriendly的介面可以用,必須自己去改html,不過實際上也不算很難,改一下幾個有 width 的地方就搞定了。

比較麻煩的部份是:Title的圖片必須重畫,在時間不多的前提下,隨便畫了現在這個,以後有時間再改過。

順便一題, title的圖片,原本想使用gif,最後還是受不了他的顏色限制而改用png檔
使用ie6.0及以前版本的朋友大概會看到左右兩邊多了個邊,那是因為ie6.0不支援的緣故
如果是使用非ie系的導覽器,除了考古級的版本外應該都是正常才對,

ie的話則得更新到7.0才會正常顯示
.................只是微軟出的東西,為了安全起見,最好還是不要第一時間就馬上更新。

星期五, 11月 10, 2006

左右派測驗


我做的結果,以結論來說,大致上會讓我信服吧,不過某些問題我總覺得答案應該是:在某某前提下 yes,或是在某某前提下NO 之類的

test1