豐富剪貼簿——HTML(CF_HTML)

基礎 clipboard 模組只處理純文字(CF_UNICODETEXT)與影像(CF_DIB)。將*格式化*內容貼進 Word / Outlook / 富文字編輯器需要 CF_HTML 格式,其 Version / StartHTML / EndHTML / StartFragment / EndFragment **位元組偏移**標頭以手寫極易出錯。build_cf_html / parse_cf_html 以純 Python 計算與還原 該標頭(完整單元測試的往返,且在多位元組 UTF-8 下正確),而 set_clipboard_html / get_clipboard_html 將其包裝於 Win32 剪貼簿之上。

位元組偏移運算與平台無關且可無頭測試;只有實際的剪貼簿 I/O 為 Windows(在其他平台丟出 RuntimeError, 與基礎模組一致)。不匯入 PySide6

無頭 API

from je_auto_control import (build_cf_html, parse_cf_html,
                             set_clipboard_html, get_clipboard_html)

set_clipboard_html("<b>Bold</b> and <i>italic</i>",
                   fragment_plaintext="Bold and italic")   # Windows
html = get_clipboard_html()                                 # Windows

# 純函式在任何平台皆可用(例如預先建立 payload):
payload = build_cf_html("<p>hello</p>")     # bytes,有效 CF_HTML
assert parse_cf_html(payload) == "<p>hello</p>"

build_cf_html 回傳偏移精確指向片段的有效 CF_HTML UTF-8 位元組;``parse_cf_html`` 從 bytes 或文字還原片段 (優先用註解標記,退而用位元組偏移)。set_clipboard_html 也會以 fragment_plaintext 設定純文字,讓忽略 HTML 的程式仍能貼上內容。

執行器命令

AC_set_clipboard_html``(``html / fragment_plaintext{set, length})與 AC_get_clipboard_html (→ {found, html})。它們以 MCP 工具 ac_set_clipboard_html / ac_get_clipboard_html 以及 Script Builder 中 Data 分類下的命令提供。