Generate structured PDF checklists and reports using Python libraries in sandbox
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-pdf-checklist-generation-4b4ad0217295 ,按照其中的说明把「pdf-checklist-generation」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
This skill provides a workflow for creating professional PDF documents (checklists, reports, scorecards) using Python libraries within an execute_code_sandbox environment.
Choose one based on your needs:
| Library | Best For | Complexity |
|---|---|---|
reportlab | Professional layouts, tables, precise control | Medium |
fpdf | Simple documents, quick generation | Low |
matplotlib | Charts, graphs, visual reports | Medium |
!pip install reportlab # or fpdf, matplotlib
Example using reportlab:
from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle, Paragraph, Spacer
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.lib import colors
def create_checklist_pdf(filename, checklist_items):
doc = SimpleDocTemplate(filename, pagesize=letter)
styles = getSampleStyleSheet()
elements = []
# Title
elements.append(Paragraph("Assessment Checklist", styles['Heading1']))
elements.append(Spacer(1, 12))
# Table data
data = [['Item', 'Status', 'Score']]
for item in checklist_items:
data.append([item['name'], item['status'], item['score']])
# Create table
table = Table(data)
table.setStyle(TableStyle([
('BACKGROUND', (0, 0), (-1, 0), colors.grey),
('TEXTCOLOR', (0, 0), (-1, 0), colors.whitesmoke),
('ALIGN', (0, 0), (-1, -1), 'CENTER'),
('GRID', (0, 0), (-1, -1), 1, colors.black),
]))
elements.append(table)
doc.build(elements)
print(f"PDF created: {filename}")
# Usage
checklist = [
{'name': 'Security Check', 'status': 'Pass', 'score': 10},
{'name': 'Performance Test', 'status': 'Fail', 'score': 5},
]
create_checklist_pdf('report.pdf', checklist)
Run the script using execute_code_sandbox:
execute_code_sandbox(code="<your pdf generation code>")
After generation, verify the PDF was created:
read_file(path="report.pdf")
Or inspect via shell:
execute_code_sandbox(code="import os; print(os.path.exists('report.pdf'))")
| Issue | Solution |
|---|---|
| Import error | Run !pip install <library> first |
| File not found | Check working directory with !pwd |
| Blank PDF | Ensure doc.build() is called |
| Encoding issues | Use Unicode strings, specify encoding |