在 PT210 上列印
使用完整的複製倉儲內附的輔助腳本。將 PRINT_SKILL_DIR 解析為此技能目錄,然後執行:
bash "$PRINT_SKILL_DIR/scripts/print.sh" --help
需要 macOS、uv、一台開機且有紙的 PT210,以及呼叫應用程式的藍牙權限。Markdown/Excalidraw 還需要本機安裝 Google Chrome。首次安裝相依套件時會使用網路;後續的轉譯流程完全在本地端進行。請勿假設此技能資料夾在脫離倉儲時仍能正常運作。
一次性連線
bash "$PRINT_SKILL_DIR/scripts/print.sh" scan
bash "$PRINT_SKILL_DIR/scripts/print.sh" setup --address UUID_FROM_SCAN
macOS 透過機器特定的 UUID 來識別 BLE 裝置,而非傳統的藍牙 MAC 位址。設定流程會驗證一個支援的可寫特性,並將選擇儲存在 ~/.config/pt210/printer.json 中。若只發現一台唯一的 PT210,可在不指定 --address 的情況下選取;若有多台相符裝置則必須明確指定目標。從未儲存裝置時,不會自動回退到其他印表機。--address 會覆蓋 PT210_ADDRESS 環境變數,再覆蓋已儲存的選擇。inspect 會連線但不會列印。
準備、預覽、列印
直接使用所要求的內容。一則列印請求即代表授權其紙張輸出;請勿加入多餘的確認關卡。先預覽不熟悉的版面。
bash "$PRINT_SKILL_DIR/scripts/print.sh" preview --file /tmp/note.md --output /tmp/note-preview.png
bash "$PRINT_SKILL_DIR/scripts/print.sh" print --file /tmp/note.md
- 純文字:從 stdin 或
--file讀取。ASCII 使用內建字體快速列印;Unicode(包含韓文)則使用點陣文字。--mode raster強制使用點陣模式。 - Markdown:
.md/.markdown會自動偵測;從 stdin 輸入時需使用--format markdown。保留要求的格式設定。標題、強調、清單、任務核取方塊、引用、程式碼、表格和連結都會正確轉譯。寬表格會轉為標籤式行。連結包含目的地;圖片顯示為替代文字佔位符。原始 HTML 保持原樣,外部資源則被封鎖。 - Excalidraw:
.excalidraw/.excalidraw.json會自動偵測;從 stdin 或一般 JSON 輸入時需使用--format excalidraw。先透過build-excalidraw建置一次(需 npm)。請使用已儲存的場景,而非分享網址、圖庫、Obsidian 包裝器或 PNG。不要從 Mermaid 重新產生已編輯的場景。官方本機轉譯器會保留幾何形狀並按紙張寬度等比例縮放。小字型警告需要透過預覽檢查,請勿悄悄裁切或重新排列。支援內嵌的 PNG/JPEG/WebP/GIF;遠端嵌入與 SVG 圖片會明確失敗。Excalidraw 與 Markdown 一律使用點陣模式。
預覽不會存取藍牙,且拒絕覆寫現有檔案。Markdown/Excalidraw 的預覽與列印使用完全相同的選項。對於純文字,請使用 print --mode raster 以匹配預覽結果;內建字體在視覺上可能略有差異。每個列印工作結束時,都會附加一條虛線引導線與 20 mm 的空白撕紙邊距。可透過 --tear-margin-mm 0..50 調整,或使用 --no-tear-line 省略引導線。預設高度上限為 2,400 點(含邊距約 300 mm);可縮短較大的輸出內容,或為要求的長收據明確設定 --max-height。
傳送與失敗處理
等待程序完成。transmitted 表示藍牙寫入作業已完成,並非紙張已確實輸出的獨立證明。初次設定或變更傳輸行為時,需要對紙張輸出進行人工確認。本機鎖定機制可防止重疊的工作;請勿繞過此機制。失敗或中斷的傳送可能導致部分列印:重試前請先檢查紙張,且絕不自動重新傳送。
若找不到印表機,請使用者將其打開電源並關閉手機上的印表機應用程式。當藍牙處於沙盒環境時,使用執行環境所核准的權限路徑。藍牙權限被拒絕時需要使用者在 macOS 的「隱私權與安全性」中進行操作;請勿修改 TCC 設定。僅支援傳統藍牙的變體需要另一個經過驗證的傳輸方式;請勿猜測序列埠或使用辦公/預設印表機。
若輸出內容損毀,可對下一次授權的工作使用 --transport conservative 以使用較小的封包。印表機設定、鎖定檔案與轉譯快取均屬本機執行環境狀態;請勿將其提交到版本控制。完整功能、設定方式與限制請參閱倉儲中的 README。