
Product
Rust Support Now in Beta
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
powerpoint-template-system
Advanced tools
A comprehensive template system for creating professional business presentations with modern styling, cards, and badges
A comprehensive template abstraction system for creating professional business presentations with consistent styling, reusable components, and flexible templating.
pip install -r requirements.txt
# For development
pip install -e .
# For production
pip install .
The PowerPoint Template System includes a powerful CLI for generating presentations from JSON configurations:
# Generate from single JSON file
ppt-template generate examples/presentation_config.json
# Generate from separated style and content templates (single command)
ppt-template merge-generate style.json content.json
# Generate from separated templates with saved merged config
ppt-template merge-generate style.json content.json --merged merged.json
# List available presentations
ppt-template list examples/presentation_config.json
# Generate all presentations
ppt-template generate examples/presentation_config.json --all
# Create sample presentations
ppt-template samples
# Get AI agent guide
ppt-template ai-guide
The system supports separated style and content templates for maximum flexibility:
style.json
){
"presentation_style": {
"id": "business_style",
"theme": "corporate_blue",
"slide_structure": [
{
"id": "title_slide",
"type": "title",
"style": {
"background": "gradient",
"gradient_colors": ["#1f4e79", "#2c5aa0"],
"title_color": "#ffffff"
}
},
{
"id": "content_slide",
"type": "card_grid",
"style": {
"card_style": {
"rounded_corners": true,
"shadow": true,
"badge_style": {
"colors": {"success": "#28a745", "warning": "#ffc107"}
}
}
}
}
]
}
}
content.json
){
"presentation_content": {
"id": "business_presentation",
"title": "Company Overview",
"author": "John Smith",
"slides": [
{
"id": "title_slide",
"content": {
"title": "Company Overview",
"subtitle": "Q4 2024"
}
},
{
"id": "content_slide",
"content": {
"title": "Key Achievements",
"cards": [
{
"title": "Revenue Growth",
"description": "40% YoY increase",
"badge": {"text": "SUCCESS", "color": "#28a745"}
}
]
}
}
]
}
}
# Single command (recommended)
ppt-template merge-generate style.json content.json
# With saved merged configuration
ppt-template merge-generate style.json content.json --merged merged.json
# Manual two-step process
python examples/merge_style_content.py style.json content.json merged.json
ppt-template generate merged.json
from powerpoint_templates import BusinessDSLBuilder, BusinessTheme, EnhancedVisualGenerator
# Create a presentation using the DSL builder
presentation = (BusinessDSLBuilder()
.set_metadata(
title="My Business Presentation",
author="John Smith",
company="Acme Corp"
)
.set_theme(BusinessTheme.CORPORATE_BLUE)
.add_title_slide()
.add_content_slide(
"overview",
"Company Overview",
"bullet_list",
{"items": ["Founded in 2020", "50+ employees", "Global presence"]}
)
.add_thank_you_slide()
.build())
# Generate the PowerPoint file
generator = EnhancedVisualGenerator()
output_file = generator.create_presentation_from_dsl(presentation, "my_presentation.pptx")
print(f"Created: {output_file}")
from powerpoint_templates import BusinessTemplateExamples, EnhancedVisualGenerator
# Create a quarterly business review
qbr = BusinessTemplateExamples.create_quarterly_business_review()
# Generate the presentation
generator = EnhancedVisualGenerator()
generator.create_presentation_from_dsl(qbr, "quarterly_review.pptx")
from powerpoint_templates import (
ComponentLayout, HeaderComponent, ContentComponent, FooterComponent,
ComponentBounds, ComponentStyle
)
# Create custom layout
layout = ComponentLayout()
# Add custom header
header = HeaderComponent(
bounds=ComponentBounds(0, 0, 13.33, 1.2),
style=ComponentStyle(font_size=24, font_bold=True)
)
layout.add_component(header)
# Add content and footer components
layout.add_component(ContentComponent())
layout.add_component(FooterComponent())
# Export layout configuration
layout.export_layout("custom_layout.json")
powerpoint_template_system/
├── src/powerpoint_templates/ # Core system modules
│ ├── template_system_design.py # Template abstraction system
│ ├── enhanced_business_dsl.py # Business DSL implementation
│ ├── modular_components.py # Component system
│ ├── business_template_examples.py # Pre-built templates
│ ├── enhanced_visual_generator.py # Visual presentation generator
│ ├── cli.py # Command line interface
│ └── integration_examples.py # Integration utilities
├── docs/ # Documentation
├── examples/ # Example presentations and code
│ ├── merge_style_content.py # Template merge script
│ ├── modern_styling_*.json # Modern styling templates
│ └── ai_agent_*.json # AI agent templates
├── tests/ # Test suite
└── config/ # Configuration files
# Generate presentations from JSON
ppt-template generate <config.json> [presentation_name]
# Merge and generate from separated templates
ppt-template merge-generate <style.json> <content.json>
# Merge and generate with saved merged config
ppt-template merge-generate <style.json> <content.json> --merged <merged.json>
# List available presentations in config
ppt-template list <config.json>
# Generate all presentations in config
ppt-template generate <config.json> --all
# Create sample presentations
ppt-template samples
# Get AI agent guide
ppt-template ai-guide
# Get help
ppt-template --help
Feature | Before | After | Improvement |
---|---|---|---|
Aspect Ratio | 4:3 Standard | 16:9 Widescreen | +33% screen utilization |
Charts | Text placeholders | Actual data charts | +200% data clarity |
Backgrounds | Solid colors | Gradient effects | +100% visual appeal |
Typography | Basic Calibri | Enhanced Segoe UI | +50% readability |
pytest tests/
black src/
flake8 src/
cd docs/
sphinx-build -b html . _build/
git checkout -b feature/amazing-feature
)git commit -m 'Add amazing feature'
)git push origin feature/amazing-feature
)This project is licensed under the MIT License - see the LICENSE file for details.
For questions, issues, or contributions:
PowerPoint Template System - Creating professional presentations made simple.
FAQs
A comprehensive template system for creating professional business presentations with modern styling, cards, and badges
We found that powerpoint-template-system demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.