封面設計大師

👤 譚編 📦 v1.0.0 ⭐ 4.5 ⬇️ 308 下載
🎨 設計多媒體 免費

📖 技能介紹


name: editor-b-cover description: "譚編於2026年7月22日釋出【圖書封面設計Skill】。本技能用於圖書、期刊的封底、封面設計:使用者傳送一份僅含文字、LOGO和條碼等元素的封面 PDF(無底圖)以及封面設計主題描述文本,本技能自動提取精確頁面尺寸,用 AI 生成一張高畫質、無文字、符合封面主題的背景底圖,並將底圖作為真實背景層插入 PDF 底部——源 PDF 的書名、作者、條碼等文字與圖形始終保持為可選中的向量內容(絕不柵格化、絕不合併為單張扁平點陣圖)。支援橫版/豎版/方形封面;人物預設中國面孔,主體嚴格限右半幅中下方、禁越中線,左側留白承載標題;風格必須生動豐富有變化、禁單調。輸出分層 PDF 與純底圖 PNG。觸發詞:圖書封面、封面底圖、襯底圖、加底圖、設計封面背景、design a cover background。" agent_created: true


圖書封面設計 Skill(四段式流水線)

角色與流程總覽

本技能把"給封面 PDF 加底圖"拆成四個清晰崗位,前兩段是提示詞工程(由你——作為 LLM——完成),後兩段是執行(呼叫指令碼/繪圖大模型):

  1. 佈局提示詞工程師 (Layout Prompt Engineer) — 分析使用者 PDF 的佈局結構(封底 / 書脊 / 封面分割槽、尺寸、是否有實底矩形遮擋、哪些區域密佈深色文字),產出佈局提示詞(描述底圖在各區域的明暗 / 留白 / 主題承載分配)。
  2. 繪圖提示詞工程師 (Drawing Prompt Engineer) — 把使用者發來的主題文字(如"CO2封存,離岸,海洋碳匯,地質封存")擴充套件為繪圖提示詞(英文,描述主體 / 場景 / 風格 / 色調 / 氛圍,不含文字)。
  3. 繪圖設計師 (Drawing Designer) — 合併「佈局提示詞 + 繪圖提示詞 + NO TEXT 硬約束」,選定尺寸與方向,呼叫繪圖大模型生成無文字底圖
  4. PDF襯底排版員 (PDF Background Compositor) — 精確裁剪到 PDF 尺寸 → 把底圖作為真實背景層插入使用者 PDF 底部。儲存分層 PDF 與純底圖 PNG。

HARD RULES(貫穿全程,不可違反)

  1. 底圖禁止寫入任何文字(最高優先順序 · 嚴格約束):停用 ImageGen 生成、暗示或要求任何文字、字母、數字、符號、公式、標點字元。底圖永遠 100% 無文字;最終封面上的每個字都來自原 PDF 的向量字形。合併提示詞時首行 NO TEXT / NO LETTERS / NO NUMBERS / NO WORDS 不可省略,且繪圖提示詞內絕不得出現可被模型誤解為"請在圖上寫字"的措辭。
  2. 禁止柵格化合並 / alpha_composite 成單張扁平圖。交付物是分層 PDF:源 PDF 文字/條碼/圖形作為可選中向量在最上層,底圖是下方影像層。條碼/白塊是源頁上的圖形,絕不重著色、絕不透明化。
  3. 底圖永遠襯於使用者 PDF 底部;不修改、不替換源 PDF 的任何元素,只在其下加一層背景。
  4. 人物預設中國面孔(除非使用者明確要外國特徵);如涉及人物,在提示詞寫明 "with Chinese facial features"。
  5. 底圖嚴禁縱向壓扁/拉伸:生成時按使用者 PDF 頁面的真實寬高比出圖,合成時整頁矩形鋪滿(preserveAspectRatio=False 但影像與頁面比例一致,無畸變);prepare_background.py 僅做居中裁剪(寬或高單邊裁切,絕不雙向縮放),保證頁面整頁高度完整利用

  6. 風格必須生動、豐富、有變化(嚴格約束 · 禁止單調):底圖不得是單一平塗色塊、寡淡的單色漸變或重複雷同的紋理。必須有具體的光影、明暗層次、材質質感與主題相關的具象視覺元素;畫面要有呼吸感、焦點與視覺趣味。每次出圖都應在構圖、光影、色彩細節上體現多樣性,避免千篇一律的"同一個模板換個顏色"。

  7. 繪圖主體嚴格限制在右半幅中下方,禁止越過中線(嚴格約束):主體的全部視覺元素集中在頁面右半部分(x ∈ 50%–100%)的中下區域(y 約 45%–88% 自頂,底部 ~12% 留為可裁空白);任何主體元素都不得越過垂直中線(x=50%)向左半部(封底區)延伸。左半部保持柔和、低對比、無焦點的留白,承載學報標題等深色文字。構圖描述為"RIGHT HALF, middle-lower"——這是本刊封面固定版式,與"渾然一體整體背景"不矛盾:整體色調/光感統一貫通全頁,但主題焦點只在右半幅,左半幅是柔化延伸的非焦點留白。


四段式詳細流程

階段 0:接收 PDF(準備)

把使用者 PDF 存到工作區,執行佈局提示詞工程師的工具 analyze_layout.py 得到結構化的 layout brief

<python_path> <skill_path>/scripts/analyze_layout.py <cover.pdf> [--max-chars 1500]

<python_path> = managed venv 直譯器 (C:\Users\Administrator\.workbuddy\binaries\python\envs\default/Scripts/python.exe), 或任意裝有 pypdf / PyMuPDF 的 Python。 <skill_path> = 本技能目錄。

brief 含:page(寬高 pt / 方向 / 寬高比)、text_summary(整頁深色文字面積與是否需整體淺色)、 barcode_qr_countrecommendation(合成引數建議)、text_sample(供理解主題)、hard_rules(硬規則清單)。

向用戶回報:檢測到的標題(用 text_sample 概括)、頁面尺寸、方向,以及佈局要點 (底圖為渾然一體整體背景、是否需整體淺色保文字可讀)。

text_sample 為空或無法判斷主題,詢問使用者書名與題材。

階段 1:佈局提示詞工程師(產出「佈局提示詞」)

輸入analyze_layout.pybrief輸出:一段英文「佈局提示詞」,描述底圖是渾然一體的整體背景,鋪滿整頁、不分割槽。

關鍵約定(使用者明確要求):不分封底/封面、不考慮書脊、不畫分界線、不考慮偏移量; 底圖是一個統一視覺整體。依 brief 推導(詳見 references/cover-prompt-guide.md「佈局提示詞模板」):

  • recommendation.layout_style,必須為 seamless_unified → 寫 "ONE unified, seamless artwork covering the ENTIRE page. NO division into back-cover / front-cover zones, NO spine, NO divider line, NO offset."
  • recommendation.keep_background_light == true → 寫 "OVERALL TONE: light & airy, low-contrast — all overlaid cover text (including dense small print on the back) must stay perfectly legible. Avoid large saturated or dark areas that would cover text."
  • page.ratio_w_over_h → 加入 "Preserve the page's exact aspect ratio (W/H = ); use the FULL page height, NO vertical compression / squashing."
  • 主體位置(強制:右半幅中下,禁越中線),無論 recommendation.subject_placement 取何值,本刊封面一律: "MAIN SUBJECT (the themed visual focus) is CONFINED to the RIGHT HALF of the page — strictly within x = 50% to 100% horizontally, and in the MIDDLE-LOWER vertical band (y ≈ 45% to 88% from top). The subject MUST NOT cross the vertical center line (x=50%) into the left / back-cover half under any circumstances; keep the LEFT HALF a soft, seamless, low-contrast, subject-free wash so the overlaid dark text (journal title, etc.) breathes. The subject stays soft and harmonious with the whole — not a hard-edged block, no divider. Additionally, the BOTTOM ~12% of the image must stay a soft seamless wash with NO subject, no horizon, no focal element — this band will be cropped off by the oversize+bottom-crop step in Stage 4 to remove the ImageGen watermark, so any detail there is wasted."
  • 中文面孔(若有人物)仍寫 "with Chinese facial features"。

階段 2:繪圖提示詞工程師(產出「繪圖提示詞」)

輸入:使用者發來的主題文字(如"CO2封存,離岸,海洋碳匯,地質封存"或"教師、幼兒園,真人")。 輸出:一段英文「繪圖提示詞」,描述主體 / 場景 / 風格 / 色調 / 氛圍(不含任何文字)。

規則(詳見 references/cover-prompt-guide.md「繪圖提示詞擴充套件規則」):

  • 把中文關鍵詞擴充套件成具體可見的視覺元素(concrete over abstract)。例如 "CO2封存,離岸,地質封存" → "a realistic offshore CO2 storage scene: a small offshore platform on the horizon, real seawater, a clear waterline, pale subsea sediment/rock strata, and a soft white CO2 plume rising from an injection well."
  • 風格必須生動、豐富、有變化(禁止單調 · 硬約束):底圖不得是單色平塗或寡淡單調漸變。無論選寫實攝影 / 水彩科學剖面 / 數字插畫,都要寫出明確的光影、層次、質感、色彩細節與構圖焦點,讓畫面鮮活、有呼吸感、可信手看。每次出圖都應主動在構圖角度、光向、材質肌理、色彩微妙變化上做差異化,避免雷同模板。提示詞裡要明確點出風格詞(如 "richly detailed", "lively", "with depth and atmospheric perspective", "varied textures"),並給出 2–3 個具象視覺焦點。
  • 選擇風格:寫實攝影 / 水彩科學剖面 / 數字插畫 … 依主題與期刊性質(真實場景需求→寫實)。
  • 色調與主題協調,並與階段 1 的明暗約束一致(若 keep_background_light,整體保持淺色/低對比,確保全部文字可讀)。
  • 人物預設中國面孔;主體小、置於指定區域(右半幅中下,見 HARD RULE 7)。

階段 3:繪圖設計師(合併 + 呼叫繪圖大模型)

把兩段提示詞合併為最終 ImageGen 提示詞:

A book-cover background artwork, [ORIENTATION] orientation, designed to sit
BEHIND existing cover text. NO TEXT, NO LETTERS, NO NUMBERS, NO WORDS anywhere
in the image. (Strict: the image must be 100% text-free — do not render any
letters, digits, or characters.)

[佈局提示詞 — 來自階段1:渾然一體的整體背景、整體明暗/留白、按頁比例不縱向壓縮、
  主體嚴格限右半幅中下、底 12% 留白]

[繪圖提示詞 — 來自階段2:主體/場景/風格/色調/氛圍,風格鬚生動豐富有變化、禁單調]
  • [ORIENTATION]brief.page.orientation(LANDSCAPE / PORTRAIT / SQUARE)。
  • 總長控制在 ~300 詞內;首行 NO TEXT… 不可省略(硬約束 1)。
  • 合併時必須再次落實三條硬約束:① 全文 0 文字;② 風格生動豐富有變化(禁單調,HARD RULE 6);③ 主體全部落在右半幅中下、絕不越中線(HARD RULE 7)——不要因"渾然一體"而把主體鋪滿左半部。
  • size:LANDSCAPE→1536x1024,PORTRAIT→1024x1536,SQUARE→1024x1024
  • 先告知使用者:ImageGen 每次消耗約 5–10 積分。再呼叫:
ImageGen(prompt=<合併後的提示詞>, size=<按方向>, quality="high",
         output_dir=<工作區輸出目錄>)

ImageGen 會在底部約 15% 高度處蓋「圖片由AI生成」水印(實測水印頂約在 0.85 H,下面還有原圖內容;無法用提示詞抑制)。統一方案:階段 4 的 oversize + 底裁機制直接裁掉--oversize 1.18),從根源規避修補,乾淨徹底,不會在右下主體區留下光暈/殘字。

階段 4:PDF襯底排版員(oversize + 底裁 → 襯底)

核心思路:不去修補水印——直接把 ImageGen 原圖按 PDF 高度的 110~120% 出圖,構圖上預留底部約 12% 空白,再在合成時把這塊連帶水印整條裁掉,輸出恰好頁面尺寸的乾淨底圖。

# 1) Oversize + 底裁(推薦)—— 直接用 raw ImageGen 圖:
#    先 cover-fit 到 W × (H*oversize) 畫布,再底裁 (oversize-1)*H,把"圖片由AI生成"連同底部留白一併切掉。
#    輸出就是恰好頁面尺寸的純底圖。
<python_path> <skill_path>/scripts/prepare_background.py <RAW_imagegen.png> <cover-background.png> \
    --width-pt <W> --height-pt <H> --dpi 300 --oversize 1.18
#   --oversize 推薦 1.18 (18% 底裁):覆蓋實測 ~15% 水印帶 + 3% 安全餘量,乾淨徹底。
#   嚴格按使用者原始 10% 規格:--oversize 1.1 —— 但因水印實測頂在 0.85H,會留下約 23pt 字元頂部殘條。
#   關閉該模式(恢復"按比例裁剪到頁面尺寸"的舊行為):--oversize 1.0。此時輸入須為已無水印的圖。

# 2) 襯底(分層,向量在上)—— 引數來自 brief.recommendation
<python_path> <skill_path>/scripts/composite_pdf.py <cover.pdf> <cover-background.png> <cover-layered.pdf> \
    [--keep-fill] [--no-scrim | --scrim-alpha 0.55]

為什麼用 oversize+底裁而非修補:在淺色富紋理背景的右下主體區(風車、太陽能板、綠林常在這裡),任何修補都容易留下光暈和"圖"字殘影;oversize+底裁從幾何上把水印連同底部一起切掉,零修補痕跡。

composite_pdf.py 的引數是由 brief 自動決定的,不要憑感覺:

  • brief.recommendation.keep_fill == true → 加 --keep-fill(源 PDF 無大塊待剝離實底,或深色品牌塊需保留)。
  • brief.recommendation.strip_fill == true不加 --keep-fill(指令碼會在向量層刪除該 re…f 實底,使底圖透出)。
  • brief.recommendation.scrim == "recreate" → 用預設 scrim(同色半透明,保淺色標題可讀);可微調 --scrim-alpha 0.35~0.55
  • brief.recommendation.scrim == "off" → 加 --no-scrim

儲存 cover-layered.pdf(分層成品)與 cover-background.png(純底圖)。

校驗(用 PyMuPDF 指令碼或內聯): - get_images() 命中 → 背景是真實圖層; - 原書名/作者/出版社/ISSN/定價 仍 get_text() 可選取; - 條碼白塊原樣保留。

階段 5(可選):封面論文 / 專題 說明文字(可編輯向量)

若使用者在主題文本中寫入 封面論文:<論文題目>專題:<專題名>, 則在成品 PDF 的主體圖上方、右邊封面插入一行可編輯向量文字,格式即 封面論文:<論文題目> / 專題:<專題名>。字型 小四號(12 pt)宋體(SimSun), 真實可選中、可編輯,絕非柵格化

檢測與寫入由 add_caption.py 完成(自動識別觸發、解析內容、定位、嵌字):

<python_path> <skill_path>/scripts/add_caption.py <cover-layered.pdf> <cover-layered-caption.pdf> \
  --theme-text "<使用者原始主題文本,含 封面論文:… 或 專題:…>"
# 或直接給文字:
<python_path> <skill_path>/scripts/add_caption.py <cover-layered.pdf> <cover-layered-caption.pdf> \
  --caption "封面論文:奈米流體提高採收率機理研究"

推薦訪問7w4.net獲取更多AI技能。

  • 位置預設:右邊封面、居右對齊——文字底邊位於距頂 0.59 H,右邊緣距左 0.943 W (x 0.661–0.943 W,y 頂 0.55 / 底 0.59 H);可用 --x0/--x1/--y-top/--y-bot/--align 微調。該預設位置已據此使用者多次微調後固化。
  • ⚠️ PyMuPDF insert_textbox 把文字放在矩形框的【底部】,因此 --y-bot 才是文字 真正的縱向位置,--y-top 只需明顯小於 --y-bot 以留出框高(約 30 pt);框過矮會 導致文字被丟棄(務必 get_text() 校驗已寫入)。
  • 若未檢測到觸發,add_caption.py 會原樣複製 PDF(不報錯),可安全總在階段 4 後呼叫。
  • 長標題自動換行(PyMuPDF insert_textbox);最終交付 cover-layered-caption.pdf

最後用 present_files 交付成品(含說明文字的 PDF)與 cover-background.png,並向用戶說明: 檢測到的標題、尺寸、方向、DPI、是否保留實底 / 是否加 scrim,以及是否命中 封面論文/專題說明文字、所用字型字號。可提議 --scrim-alpha--no-scrim、600 DPI、 重新生成底圖,或調整說明文字位置。


命令速查(managed venv 直譯器)

<python_path> = C:\Users\Administrator\.workbuddy\binaries\python\envs\default/Scripts/python.exe
<skill_path>  = C:\Users\Administrator\.workbuddy\skills\editor-b-cover

# ① 佈局分析(佈局提示詞工程師工具)
python <skill_path>/scripts/analyze_layout.py <cover.pdf> [--max-chars 1500]

# ② Oversize + 底裁(首選,直接處理 raw ImageGen 圖,裁掉「圖片由AI生成」水印)
python <skill_path>/scripts/prepare_background.py <RAW_imagegen.png> <cover-background.png> \
    --width-pt <W> --height-pt <H> --dpi 300 --oversize 1.18

# ③ 襯底(分層,向量在上)
python <skill_path>/scripts/composite_pdf.py <cover.pdf> <cover-background.png> <cover-layered.pdf> \
    [--keep-fill] [--no-scrim] [--scrim-alpha 0.55] [--min-fill-frac 0.20]

# ⑤(可選)封面論文/專題 說明文字(可編輯向量,小四宋體)
python <skill_path>/scripts/add_caption.py <cover-layered.pdf> <cover-layered-caption.pdf> \
    --theme-text "<使用者主題文本>"   # 或 --caption "封面論文:…";微調 --x0/--x1/--y-top/--y-bot/--align

Technical Notes

  • 頁面尺寸 pt × (DPI/72) = 畫素尺寸。300 DPI 的 6×9 in 封面 → 1800×2700 px;600 DPI → 3600×5400 px。
  • analyze_layout.py 用 PyMuPDF 讀出實底矩形、文字密度、條碼位置,輸出歸一化(左上原點)區間,直接餵給提示詞工程,避免"憑眼猜佈局"。
  • composite_pdf.pypypdfpage.merge_page():背景頁(圖片 + 可選向量 scrim)在下,源內容(含向量剝離的實底)在上 → 文字/條碼保持可選中向量,底圖是真實影像層。絕不用 PIL alpha_composite 把整頁柵格化。
  • prepare_background.py 恆中心裁剪到目標比例(Lanczos),後續拉伸到頁面零畸變。
  • 依賴(managed venv):pypdfreportlabPillowPyMuPDF(fitz)。

Resources

  • scripts/analyze_layout.py佈局提示詞工程師的工具:分析 PDF 佈局,輸出 layout brief(JSON),含實底遮擋塊、文字密度、條碼位置與合成引數建議。
  • scripts/prepare_background.py — 中心裁剪到精確頁面比例 + 高 DPI 純底圖 PNG(交付物之一)。--oversize 1.1~1.2 啟用 oversize+底裁模式(首選,裁掉 ImageGen 水印);--oversize 1.0 = 僅按比例裁剪(用於已無水印的輸入)。
  • scripts/composite_pdf.py — 分層合成器:向量剝離源實底(可選)、可選向量 scrim、merge 源內容於背景之上,產出分層 PDF。
  • scripts/add_caption.py — 識別 封面論文:… / 專題:… 觸發,在主體圖上方右側封面插入可編輯向量說明文字(小四號宋體)。
  • references/cover-prompt-guide.md — 佈局提示詞模板 + 繪圖提示詞擴充套件規則 + 風格/尺寸表。

🤖 AI 評測

這個封面設計Skill質量不錯,文件寫得很詳細,流程清晰、約束明確。底圖生成禁止文字、保留向量文字層、分層PDF輸出等核心功能都做得很好,特別是ImageGen水印處理方案很巧妙。風格生動變化、主體位置固定等設計要求也很實用。美中不足的是沒有示例檔案幫助理解使用場景,程式碼也沒有測試覆蓋,小問題修復可能不夠及時。

📊 多維度評分

適應性4.7
規範性4.3
有效性4.6
可靠性4.3
可信度4.8

📁 包含檔案 (6 個)

📄 SKILL.md 18.6 KB
📄 references/cover-prompt-guide.md 8.7 KB
📄 scripts/add_caption.py 6.1 KB
📄 scripts/analyze_layout.py 6.8 KB
📄 scripts/composite_pdf.py 9.7 KB
📄 scripts/prepare_background.py 6.3 KB