這個專案可以把放在 input/ 資料夾裡的全國聯合考 PDF,轉成 Anki 可以匯入的 .apkg 牌組 。
產生的卡片形式是:
- 正面:題目圖片
- 背面:題目圖片 + 答案圖片
為避免 .apkg 因圖片過大,程式會以 180 DPI、JPEG 品質 90 產生圖片。這在細節與檔案大小間取得平衡,也比無損 PNG 大幅節省容量;若要調整,可修改 create_anki_deck.py 開頭的 IMAGE_DPI 和 IMAGE_JPEG_QUALITY。
不需要會寫程式。照著下面步驟,一行一行複製指令即可。
Anki 是用來讀 .apkg flashcard 牌組的軟體。
- 打開瀏覽器。
- 到 Anki 官方網站:https://apps.ankiweb.net
- 下載 Windows 版本。
- 安裝完成後,先不用打開也可以。
如果你的電腦已經有 Anki,可以跳過這一步。
Windows Terminal 是比較好用的命令列視窗。你可以把它想成「輸入指令的 App」。
- 在 Windows 桌面左下角按「開始」。
- 搜尋
Microsoft Store,打開 Microsoft Store。 - 在 Microsoft Store 搜尋
Windows Terminal。 - 點選 Microsoft 出版的 Windows Terminal。
- 按「取得」或「安裝」。
如果你的電腦已經有 Windows Terminal,也可以跳過這一步。
PowerShell 是我們要在 Windows Terminal 裡使用的指令環境。
- 打開 Microsoft Store。
- 搜尋
PowerShell。 - 點選 Microsoft 出版的 PowerShell。
- 按「取得」或「安裝」。
如果你的電腦已經有 PowerShell,也可以跳過這一步。
- 在 Windows 桌面左下角按「開始」。
- 搜尋
Terminal。 - 打開「Windows Terminal」。
- 如果畫面上方顯示的是
PowerShell,就可以繼續。 - 如果不是 PowerShell,按上方分頁旁邊的小箭頭,選
PowerShell。
uv 是這個專案用來自動安裝 Python 和需要套件的工具。
在 Windows Terminal 的 PowerShell 裡,複製下面這整行,貼上後按 Enter:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
安裝完成後,請關掉 Windows Terminal。
在這個專案的 GitHub 網頁上:
- 點綠色的
Code按鈕。 - 點
Download ZIP。 - 下載後解壓縮。
- 建議把解壓縮後的資料夾放在桌面。
例如資料夾可能會長這樣:
C:\Users\你的使用者名稱\Desktop\rad-test-main
- 點擊進入
rad-test-main資料夾,裡面應該還會有一個rad-test-main資料夾,再次點擊進入,你應該會看到以下這些檔案
rad-test-main/
create_anki_deck.py 主要程式
input/ 放要轉換的 PDF
output/ 放產生的 .apkg Anki 牌組
tests/ 程式測試,一般使用者不用管
pyproject.toml 專案套件設定
uv.lock 鎖定套件版本,讓環境比較穩定
在空白處按滑鼠右鍵,點擊 在終端機開啟,
- 終端機 (Windows Terminal) 會打開
- 如果畫面上方的分頁顯示的是
PowerShell,就可以繼續。 - 如果不是 PowerShell,按上方分頁旁邊的小箭頭,選
PowerShell。
在終端機輸入:
uv sync
這會下載一些必要套件,會花一點時間。至此,前置作業結束。
把全國聯合考的檔案轉成 PDF,複製到專案裡的 input/ 資料夾。
例如:
rad-test/
input/
你的測驗.pdf
在專案資料夾裡 (在 rad-test-main,而非 input) 開啟終端機,然後輸入:
uv run create_anki_deck.py
如果成功,你會看到進度條在跑。
轉好的 .apkg 檔案會出現在專案裡的 output/ 資料夾。
例如:
rad-test/
output/
你的測驗.apkg
- 點擊
.apkg檔案,就會直接匯入 Anki。
rad-test/
create_anki_deck.py 主要程式
input/ 放要轉換的 PDF
output/ 放產生的 .apkg Anki 牌組
tests/ 程式測試,一般使用者不用管
pyproject.toml 專案套件設定
uv.lock 鎖定套件版本,讓環境比較穩定
請先關掉 Windows Terminal,再重新打開一次,然後輸入:
uv --version如果還是不行,重新執行安裝 uv 的指令。
代表你目前不在專案資料夾裡。
請先用 cd 回到專案資料夾,例如:
cd "$HOME\Desktop\rad-test-main"再執行:
uv run create_anki_deck.py
請確認你的 PDF 已經放進 input/ 資料夾,而且副檔名是 .pdf。
程式預期每份 PDF 有 50 張卡。如果不是 50 張,通常代表 PDF 裡的題目或答案標記沒有被正確辨識。
程式會列出缺少題目或缺少答案的編號,請回頭檢查原始 PDF。
一般使用者不用碰。
tests/ 是給維護程式的人用的,確保以後修改程式時,不會不小心改壞 Anki ID、背面模板或錯誤偵測。
執行測試:
uv run pytest
同步依賴:
uv sync
新增一般套件:
uv add 套件名稱
新增開發用套件:
uv add --dev 套件名稱注意:PDF 函式庫使用 PyMuPDF / pymupdf。不要安裝 PyPI 上另一個不相關的 fitz 套件。
- Anki:https://apps.ankiweb.net
- Windows Terminal:Microsoft 官方文件
- PowerShell:Microsoft 官方文件
- uv:官方安裝文件