[工具] AI 生成的 PPT 导出 PDF 转 PPTX 解决样式丢失 | 附年终述职的思路
又到年终汇报时间,又要搞 word 格式,又要 ppt 形式述职,下面总结一下经验可以给佬们参考。
先根据每个月的月总按照公司模板生成年总需要填写的内容,这里我用的 Google AI Studio - Gemini 3 pro。没有月总的可以看看自己 Git 提交记录找找今年做了什么。
使用 Z.ai 生成 PPT。
这里导出的 PPTX 打开后,会发现样式有变化。
可以使用先导出 PDF,之后使用 Python 脚本将 PDF 转为图片,图片再转为 PPTX,这样就解决样式变化的问题了。
- 先安装库
pip install pymupdf python-pptx
- 创建文件
pdf2pptx.py,内容:
import fitz # PyMuPDF
from pptx import Presentation
from pptx.util import Inches
import io
import os
def pdf_to_pptx(pdf_path, pptx_path, dpi=300):
"""
将 PDF 转换为 PPTX(每一页作为一张全屏图片)
:param pdf_path: 输入 PDF 文件路径
:param pptx_path: 输出 PPTX 文件路径
:param dpi: 渲染清晰度,300 已经非常清晰,如果文件太大可以降到 200
"""
# 1. 打开 PDF
pdf_doc = fitz.open(pdf_path)
prs = Presentation()
# 2. 获取 PDF 第一页的尺寸,并设置为 PPT 的幻灯片尺寸
# PDF 默认单位是点 (points), 1 inch = 72 points
first_page = pdf_doc[0]
width_pts, height_pts = first_page.rect.width, first_page.rect.height
prs.slide_width = Inches(width_pts / 72)
prs.slide_height = Inches(height_pts / 72)
print(f"开始转换: {pdf_path}")
print(f"总页数: {len(pdf_doc)}")
# 3. 逐页处理
for page_num in range(len(pdf_doc)):
page = pdf_doc.load_page(page_num)
# 渲染页面为图片 (设置缩放倍数以提高清晰度)
zoom = dpi / 72
mat = fitz.Matrix(zoom, zoom)
pix = page.get_pixmap(matrix=mat, alpha=False)
# 将图片存入内存流中,避免产生临时文件
img_stream = io.BytesIO(pix.tobytes("png"))
# 添加一张空白幻灯片 (6 是空白布局)
slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(slide_layout)
# 将图片插入幻灯片,铺满全屏
slide.shapes.add_picture(img_stream, 0, 0, width=prs.slide_width, height=prs.slide_height)
print(f"正在处理第 {page_num + 1} 页...")
# 4. 保存文件
prs.save(pptx_path)
pdf_doc.close()
print(f"转换完成!已保存至: {pptx_path}")
if __name__ == "__main__":
# === 使用说明 ===
# 将下面的文件名替换为你实际的文件名
input_pdf = "input.pdf"
output_pptx = "output.pptx"
if os.path.exists(input_pdf):
pdf_to_pptx(input_pdf, output_pptx)
else:
print(f"错误:找不到文件 {input_pdf}")
- 将 pdf 文件重名为
input.pdf,然后执行:
python pdf2pptx.py
- 输出文件
output.pptx。可以再让 AI 帮你输出一份口述草稿配合起来就行了。
有尝试过在线 ILovePDF 网站去转,但是样式还是有问题。
试过 NotebookLM 生成 PPT,效果一般般,没想到 Z.ai 生成的效果还挺好看的
![[工具] AI 生成的 PPT 导出 PDF 转 PPTX 解决样式丢失 | 附年终述职的思路1](https://xiaohack.oss-cn-zhangjiakou.aliyuncs.com/typecho/images/2026/01/19/20260119175220_696dfed401563.png!mark)
![[工具] AI 生成的 PPT 导出 PDF 转 PPTX 解决样式丢失 | 附年终述职的思路2](https://xiaohack.oss-cn-zhangjiakou.aliyuncs.com/typecho/images/2026/01/19/20260119175222_696dfed61bb4c.png!mark)
![[工具] AI 生成的 PPT 导出 PDF 转 PPTX 解决样式丢失 | 附年终述职的思路3](https://xiaohack.oss-cn-zhangjiakou.aliyuncs.com/typecho/images/2026/01/19/20260119175227_696dfedb4692e.png!mark)