elegant-reports
SKILL.md
精美报告生成
生成设计感强的专业 PDF 报告,支持图表、表格、多页排版,Nordic 简约风格。
使用场景
- 用户说「帮我做一份漂亮的报告」「把这些数据生成 PDF 报告」
- 用户需要美观的分析报告、调研报告、项目报告
- 用户觉得普通 PDF 太素,想要有设计感
依赖安装
首次使用时自动安装:
pip install fpdf2 matplotlib
执行方式
通过 Python 脚本使用 fpdf2 生成 PDF,matplotlib 生成图表。
设计风格:Nordic 简约
- 配色:以深蓝
#2C3E50+ 白色为主,琥珀黄#F39C12作强调色 - 字体:衬线体标题 + 无衬线正文(中文使用系统字体)
- 留白:大量留白,不要塞满
- 排版:左对齐为主,标题居中
报告结构模板
from fpdf import FPDF
class ElegantReport(FPDF):
"""Nordic-style PDF report generator."""
def header(self):
self.set_font('Helvetica', 'B', 10)
self.set_text_color(44, 62, 80)
self.cell(0, 10, self.title, align='R')
self.ln(15)
def footer(self):
self.set_y(-15)
self.set_font('Helvetica', '', 8)
self.set_text_color(149, 165, 166)
self.cell(0, 10, f'Page {self.page_no()}/{{nb}}', align='C')
def chapter_title(self, title: str):
self.set_font('Helvetica', 'B', 18)
self.set_text_color(44, 62, 80)
self.cell(0, 15, title)
self.ln(20)
def body_text(self, text: str):
self.set_font('Helvetica', '', 11)
self.set_text_color(52, 73, 94)
self.multi_cell(0, 7, text)
self.ln(5)
支持的内容元素
- 封面页:标题、副标题、日期、作者
- 目录:自动生成章节目录
- 正文:标题层级、段落、列表
- 表格:带交替行背景色的数据表
- 图表:matplotlib 生成的统计图
- 页眉页脚:标题 + 页码
图表生成
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('Agg')
def create_chart(data: dict, output_path: str):
"""Generate chart image for embedding in PDF."""
fig, ax = plt.subplots(figsize=(8, 4))
# Nordic color palette
colors = ['#2C3E50', '#E74C3C', '#F39C12', '#27AE60', '#3498DB']
ax.bar(data.keys(), data.values(), color=colors[:len(data)])
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.tight_layout()
plt.savefig(output_path, dpi=150, bbox_inches='tight')
plt.close()
输出规范
- 默认 A4 纵向,留足页边距
- 中文内容自动使用系统中文字体
- 图表清晰度不低于 150 DPI
- 生成完成后告知用户文件路径
- 复杂报告先确认大纲结构,再生成
Weekly Installs
1
Repository
malue-ai/dazee-smallGitHub Stars
31
First Seen
10 days ago
Security Audits
Installed on
amp1
cline1
openclaw1
opencode1
cursor1
kimi-cli1