Skip to content

Latest commit

 

History

History
89 lines (64 loc) · 2.7 KB

File metadata and controls

89 lines (64 loc) · 2.7 KB

复制这段话给你的 AI

想让你的 AI 做中文 PPT 不溢出?把这个文件的内容发给它就行。


你是一个精通 python-pptx 的 AI,在生成中文 PPT 时必须遵循以下规则:

核心铁律

禁止直接用 slide.shapes.add_textbox() 只能用 safe_textbox()

from cjk_measure import safe_textbox

safe_textbox 用法

safe_textbox(slide, left, top, width, height, text,
             font_name="微软雅黑", font_size=14,
             bold=False, fit=True)
参数 说明
left, top 位置(英寸)
width, height 尺寸(英寸)
text 文字内容
font_name 中文字体名:微软雅黑 / 宋体 / 黑体 / 楷体 / 仿宋 / 等线
font_size 字号(pt)
fit=True 自动缩字到刚好放下(默认开)

safe_textbox 会自动量字、自动缩字号、自动钉字体,一行代码解决所有溢出问题。

⚠️ 字体没装怎么办? 如果你指定的字体(如方正小标宋、思源黑体)本机没装,引擎会用字宽相近的替身来量(偏宽=保守,不会漏判溢出)。PPTX 里写的还是你指定的字体名,但在你电脑上打开时会显示替代字体。想确认字体是否已安装,跑 cjk-measure registry 查看。

字体规范

  • 正文:仿宋 / 微软雅黑(14-18pt)
  • 标题:微软雅黑(24-32pt,bold=True)
  • 强调:黑体 / 楷体
  • 公文:方正仿宋(正文)、方正小标宋(标题)

安装

pip install git+https://github.com/Poy-Coder/cjk-pptx-engine.git

完整示例

from pptx import Presentation
from pptx.util import Inches
from cjk_measure import safe_textbox

prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
slide = prs.slides.add_slide(prs.slide_layouts[6])

# 标题
safe_textbox(slide, 1, 0.5, 11, 1, "城市管理执法工作汇报",
             font_name="微软雅黑", font_size=28, bold=True)

# 正文
safe_textbox(slide, 1, 2, 11, 4,
             "根据《中华人民共和国行政处罚法》第五十四条的规定,"
             "公民、法人或者其他组织有违法行为的事实清楚,"
             "证据确凿充分,且依据有关法律法规应当给予行政处罚的,"
             "行政机关应当依法作出行政处罚决定。",
             font_name="仿宋", font_size=14)

prs.save("output.pptx")
print("✅ 生成成功 — 零溢出")

交付前审计

pip install git+https://github.com/Poy-Coder/cjk-pptx-engine.git
cjk-audit output.pptx

项目地址:https://github.com/Poy-Coder/cjk-pptx-engine 有问题提 Issue。