實踐-SuperMemo-PDF文檔網(wǎng)頁增量(三)
時間:2023-05-27 02:45:01 | 來源:網(wǎng)站運營
時間:2023-05-27 02:45:01 來源:網(wǎng)站運營
實踐-SuperMemo-PDF文檔網(wǎng)頁增量(三):
一.轉(zhuǎn)換工具:PDF轉(zhuǎn)HTML1.本地及在線軟件:
Abbyy FineReader/萬興PDF閱讀器支持直接導(dǎo)出HTML,Caliber則可轉(zhuǎn)換PDF至Zip格式再解壓
備選:
1.小于40M的PDF文件用Word直接導(dǎo)出成網(wǎng)頁 2.PDF閱讀器如福昕閱讀器可先轉(zhuǎn)Word后再導(dǎo)出網(wǎng)頁. 總之,如PDF閱讀器不能直轉(zhuǎn)html,可轉(zhuǎn)Word/Epub/Zip再通過解壓或者再次導(dǎo)出.
可以使用在線的轉(zhuǎn)換軟件,但可能會收費或有各種限制及不穩(wěn)定,我在文中有推薦了部分網(wǎng)址.
2.定制開發(fā)工具包:
- mutool 工具 : 免費開源PDF批處理工具,通過CMD命令來轉(zhuǎn)換PDF至文本/圖片/HTML網(wǎng)頁
- poppler 命令行工具及對應(yīng)的python開發(fā)包組件,也提供了命令行工具集,支持圖片單獨保存,復(fù)雜模式-C會導(dǎo)出一個大綱,在我體驗時出現(xiàn)部分格式問題,所以可以酌情參考一下再取舍.
- pdf2htmlex工具: 基于mupdf / poppler基礎(chǔ)上改進,生成網(wǎng)頁效果好,但是DOM結(jié)構(gòu)比較復(fù)雜,瀏覽器解析時較費資源,不太適合導(dǎo)入SM
說明:pdf2htmlex生成的網(wǎng)頁中圖片也是base64編碼保存的,所以SM中導(dǎo)入后也不顯示圖片
二. 操作流程: (使用mutool來作演示)1.把PDF轉(zhuǎn)換成HTML網(wǎng)頁 2.導(dǎo)入SuperMemo學(xué)習
首選Abbyy FineReader/萬興PDF閱讀器/Mutool命令行/Word應(yīng)用程序(PDF小于40M)來轉(zhuǎn)換,本文我們使用
Mutool演示. 除使用
Word格式(PDF小于40M直接用WORD打開,否則用福昕閱讀器先轉(zhuǎn)Word格式再用Word導(dǎo)出HTML).還可使用
Epub或Zip格式(萬興等PDF閱讀器先轉(zhuǎn)至Epub或Caliber先轉(zhuǎn)至Zip再用解壓工具解壓.
注:Caliber貌似用的是pdf2htmlEX項目來轉(zhuǎn)換).
1.轉(zhuǎn)換PDF至HTMLmutool在之前文章已經(jīng)作了介紹,本文不再進行安裝設(shè)置說明,你可以參考下文進行下載及配置
你也還可以參考官方的文檔:
步驟一: 查看mutool 工具的轉(zhuǎn)換參數(shù)(這里用的是convert命令,其實
還可以用draw命令實現(xiàn))
查看mutool的用法可一起使用的參數(shù)draw命令有大部分功能和convert命令是重合的,所以它的使用參數(shù)和convert命令基本一致. 如下為draw命令日常使用的中文說明,如需更具體參考你可以看我上面放置的官網(wǎng)文檔鏈接:
draw命令也可實現(xiàn)步驟二: 執(zhí)行如下轉(zhuǎn)換命令(注意:pdf文件后是對應(yīng)的PDF頁碼,如果不輸入默認轉(zhuǎn)換所有頁):
mutool convert -F html -o myfile.html -O preserve-images Y:/OneDrive/PDF書籍/輕松Scrum之旅.pdf 1,3,44,5-20
cmd窗口執(zhí)行命令如下正確生成了html文檔,瀏覽器打開如下:
轉(zhuǎn)換帶圖片的網(wǎng)頁成功步驟三: 用IE打開網(wǎng)頁,Ctrl+Shift+A 導(dǎo)入網(wǎng)頁并進行學(xué)習
網(wǎng)頁可直接導(dǎo)入SM進行學(xué)習上面生成的網(wǎng)頁中圖片默認是用base64編碼展示的,SM軟件不支持這些圖片的導(dǎo)入,所以增量閱讀時圖片區(qū)域會顯示出一個
叉號,所以我建議在增量閱讀到這個圖片時,如果
不需要這個圖片則可以直接刪除這個叉號,如果
需要則可以直接從網(wǎng)頁或PDF源文件中復(fù)制或截圖過來,如下圖:
SM軟件不支持base64圖片導(dǎo)入手動修復(fù)部分圖片的問題以上我是用mutool工具來實現(xiàn)PDF至網(wǎng)頁生成并學(xué)習的具體步驟,因
該命令行工具現(xiàn)版本所支持的html導(dǎo)出用的是base64編碼來存儲圖片,所以如上我會增加一步手工取圖的操作(可以用簡單的腳本處理下網(wǎng)頁,把base64圖片文件化,然后替換圖片鏈接,具體可以參考我文末的方案).
簡單較小的PDF文件,
Word程序來導(dǎo)出也可以,不然則可用其它備選工具,如
Abbyy FineReader或萬興PDF閱讀器(PDF轉(zhuǎn)換成HTML或轉(zhuǎn)成Epub再解壓)來實現(xiàn)PDF到HTML網(wǎng)頁的轉(zhuǎn)換,這兩個工具生成的網(wǎng)頁圖片是可以直接導(dǎo)入的,但注意,
這兩個軟件也不是完美的. 比如: 軟件收費/文本識別率有時會比mutool更低 / 排版錯亂 /轉(zhuǎn)換速度慢/轉(zhuǎn)換時消耗資源高/不方便需求定制等. ====總結(jié): PDF轉(zhuǎn)換至HTML網(wǎng)頁的方案===1.ABBYY FineReader / 萬興PDF閱讀器 軟件本身支持轉(zhuǎn)換文本圖形分離的網(wǎng)頁,只不過要收費,另外也可以直接Word程序(PDF大小限制),福昕->Word,萬興->Epub,Caliber->Zip等間接方式.
2.在線的轉(zhuǎn)換工具,WPS在線轉(zhuǎn)換/永中在線轉(zhuǎn)換等在線轉(zhuǎn)換工具,會有各種限制及收費,不穩(wěn)定等問題, 也存在一定隱私問題,無法自定規(guī)則及不方便批處理.如下放置幾個免費的在線轉(zhuǎn)換網(wǎng)址:
3.
mutool 命令行工具及 mupdf api 庫 /
poppler / 基于前兩個軟件的
pdf2htmlEX 等轉(zhuǎn)換工具
mutool使用簡單,只不過生成網(wǎng)頁中圖片是用base64編碼的,上面我建議是這樣操作: 導(dǎo)入進SM軟件來學(xué)習時,顯示叉號但不需要的圖片可直接刪除,需要的圖片直接從網(wǎng)頁拷貝源圖片到SM軟件即可.如果你一定要導(dǎo)入圖片在SM學(xué)習可以按我文末的方法簡單處理一下生成的HTML網(wǎng)頁.
poppler自帶了一套工具集,可以實現(xiàn)PDF轉(zhuǎn)換成文本/圖片/網(wǎng)頁. 使用工具pdf2html可以生成文本及圖片分離的網(wǎng)頁,但實驗中會有一小部分網(wǎng)頁格式上會有亂的情況,所以自己綜合看下效果.
pdf2htmlEX 生成網(wǎng)頁效果最好,但網(wǎng)頁文件較大/DOM結(jié)構(gòu)較復(fù)雜/網(wǎng)頁解析消耗資源,圖片也是返回base64,如果是要導(dǎo)入SM中進行增量,還是不建議了,直接用瀏覽器打開體驗還是很不錯的.
Mutool免費開源,提供了命令行工具套件及pymupdf編程包,社區(qū)活躍,迭代的速度很快.支持多線程,網(wǎng)頁轉(zhuǎn)換速度相當快.方便自己定制處理,所以比較推薦.如下: 我們會發(fā)現(xiàn)mupdf官網(wǎng)版本修復(fù)/更新非???很多軟件現(xiàn)在沒有的功能相信很快會出現(xiàn):代碼提交更新數(shù)據(jù)--------2021-01-31 增加如下--------:
針對mutool導(dǎo)出html時圖片默認為base64編碼的問題.網(wǎng)上也有人提出過問題,
官方回答是建議自己單獨寫代碼來處理一下,把base64的圖片保存至本地并用本地鏈接替換回原來的img鏈接.# 方式一 : 對mutool生成的HTML網(wǎng)頁直接解析,解碼出圖片并替換鏈接...image = json.loads(pg.getText('json'))['blocks'][0]['image'] img = Image.open(io.BytesIO(base64.b64decode(image))) #fitz.Pixmap(doc, xref)
# 方式二: 直接使用Mupdf的API自已生成HTML,使用dict來取圖片及文本...doc = fitz.open(file_path)for page in doc: page.getText("dict")
我是一只熱愛學(xué)習的小胖子,如果你也熱愛學(xué)習,并且對SuperMemo感興趣,歡迎轉(zhuǎn)發(fā)和評論!