Generate ppt on chaturvinshanti upkrma in agadtantra in marathi

Reading File
Searching the Web

chaturvinshati upkrama agadtantra ayurveda 24 upkrama poisoning treatment

Reading File
Reading Web Page

https://jaims.in/jaims/article/view/2473

Running Command

mkdir -p /tmp/workspace/agadtantra-ppt

Writing File

~/agadtantra-ppt/create_ppt.py

from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.util import Inches, Pt
import copy

prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)

# Color palette (Ayurvedic / saffron-green theme)
SAFFRON     = RGBColor(0xFF, 0x99, 0x00)   # #FF9900
DARK_GREEN  = RGBColor(0x1A, 0x5C, 0x2A)   # #1A5C2A
CREAM       = RGBColor(0xFF, 0xF8, 0xE7)   # #FFF8E7
DEEP_BROWN  = RGBColor(0x4A, 0x2C, 0x00)   # #4A2C00
WHITE       = RGBColor(0xFF, 0xFF, 0xFF)
LIGHT_GREEN = RGBColor(0xC8, 0xE6, 0xC9)
GOLD        = RGBColor(0xD4, 0xAF, 0x37)
DARK_SAFFRON= RGBColor(0xCC, 0x66, 0x00)
LIGHT_AMBER = RGBColor(0xFF, 0xEC, 0xB3)

blank = prs.slide_layouts[6]

def add_rect(slide, x, y, w, h, fill_color, alpha=None):
    shape = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(h))
    shape.fill.solid()
    shape.fill.fore_color.rgb = fill_color
    shape.line.fill.background()
    return shape

def add_textbox(slide, x, y, w, h, text, font_name="Mangal", font_size=18,
                bold=False, color=WHITE, align=PP_ALIGN.LEFT,
                word_wrap=True, v_anchor=MSO_ANCHOR.TOP, italic=False):
    tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = tb.text_frame
    tf.word_wrap = word_wrap
    tf.vertical_anchor = v_anchor
    tf.margin_left  = Pt(4)
    tf.margin_right = Pt(4)
    tf.margin_top   = Pt(2)
    tf.margin_bottom= Pt(2)
    p = tf.paragraphs[0]
    p.alignment = align
    run = p.add_run()
    run.text = text
    run.font.name = font_name
    run.font.size = Pt(font_size)
    run.font.bold = bold
    run.font.italic = italic
    run.font.color.rgb = color
    return tb

def add_multi_para(slide, x, y, w, h, lines, font_name="Mangal", font_size=16,
                   bold=False, color=WHITE, align=PP_ALIGN.LEFT,
                   word_wrap=True, v_anchor=MSO_ANCHOR.TOP, spacing_after=Pt(4),
                   italic=False):
    tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = tb.text_frame
    tf.word_wrap = word_wrap
    tf.vertical_anchor = v_anchor
    tf.margin_left  = Pt(6)
    tf.margin_right = Pt(6)
    tf.margin_top   = Pt(4)
    tf.margin_bottom= Pt(4)
    for i, line in enumerate(lines):
        if i == 0:
            p = tf.paragraphs[0]
        else:
            p = tf.add_paragraph()
        p.alignment = align
        p.space_after = spacing_after
        run = p.add_run()
        run.text = line
        run.font.name = font_name
        run.font.size = Pt(font_size)
        run.font.bold = bold
        run.font.italic = italic
        run.font.color.rgb = color
    return tb

# ─────────────────────────────────────────────
# SLIDE 1 — TITLE
# ─────────────────────────────────────────────
slide = prs.slides.add_slide(blank)

# Full background
add_rect(slide, 0, 0, 13.333, 7.5, DARK_GREEN)
# Top banner
add_rect(slide, 0, 0, 13.333, 1.6, SAFFRON)
# Bottom strip
add_rect(slide, 0, 6.7, 13.333, 0.8, SAFFRON)
# Centre cream panel
add_rect(slide, 1.5, 1.8, 10.333, 4.6, CREAM)

# Banner text
add_textbox(slide, 0.3, 0.1, 12.7, 0.8,
            "अष्टांग आयुर्वेद | अगदतंत्र विभाग",
            font_size=20, bold=True, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

add_textbox(slide, 0.3, 0.8, 12.7, 0.7,
            "आयुर्वेद विष विज्ञान - Toxicology Branch",
            font_size=16, italic=True, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

# Main title inside panel
add_textbox(slide, 1.7, 2.0, 10.0, 1.4,
            "चतुर्विंशति उपक्रम",
            font_name="Mangal", font_size=46, bold=True,
            color=DARK_GREEN, align=PP_ALIGN.CENTER)

add_textbox(slide, 1.7, 3.3, 10.0, 0.8,
            "(Chaturvinshati Upkrama)",
            font_name="Arial", font_size=22, italic=True,
            color=DARK_SAFFRON, align=PP_ALIGN.CENTER)

add_textbox(slide, 1.7, 4.0, 10.0, 0.7,
            "विषाच्या व्यवस्थापनातील चोवीस उपचार पद्धती",
            font_size=20, bold=True, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

add_textbox(slide, 1.7, 4.6, 10.0, 0.5,
            "अगदतंत्र | आचार्य चरक | सुश्रुत संहिता",
            font_size=14, color=DARK_GREEN, align=PP_ALIGN.CENTER)

# Footer
add_textbox(slide, 0.3, 6.75, 12.7, 0.5,
            "आयुर्वेद चिकित्सा शास्त्र  •  Ayurveda Medical Science",
            font_size=13, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

# ─────────────────────────────────────────────
# SLIDE 2 — AGADTANTRA PARICHAY
# ─────────────────────────────────────────────
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, CREAM)
add_rect(slide, 0, 0, 13.333, 1.2, DARK_GREEN)
add_rect(slide, 0, 1.2, 0.3, 6.3, SAFFRON)
add_rect(slide, 0, 6.8, 13.333, 0.7, DARK_GREEN)

add_textbox(slide, 0.5, 0.15, 12.0, 0.9,
            "अगदतंत्र - परिचय",
            font_size=30, bold=True, color=WHITE, align=PP_ALIGN.CENTER)

points = [
    "● अगदतंत्र हे अष्टांग आयुर्वेदाची एक विशेष शाखा आहे.",
    "● 'अगद' म्हणजे विषनाशक औषध; 'तंत्र' म्हणजे शास्त्र किंवा पद्धती.",
    "● विष (Visha) चे निदान, प्रतिबंध आणि उपचार यांचा अभ्यास.",
    "● आचार्य चरक, सुश्रुत व वाग्भट यांनी विषतंत्र विशद केले आहे.",
    "● विषाचे प्रकार: स्थावर (Plant), जंगम (Animal), गर (Compound), दूषी विष (Chronic).",
    "● Agadtantra = Ayurvedic Toxicology - one of the 8 branches (Ashtanga).",
]
add_multi_para(slide, 0.7, 1.35, 12.0, 5.3,
               points, font_size=18, color=DEEP_BROWN,
               spacing_after=Pt(8))

add_textbox(slide, 0.3, 6.82, 12.7, 0.45,
            "अगदतंत्र | विष विज्ञान शाखा", font_size=13,
            color=WHITE, align=PP_ALIGN.CENTER)

# ─────────────────────────────────────────────
# SLIDE 3 — VISHA PARICHAY
# ─────────────────────────────────────────────
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, LIGHT_AMBER)
add_rect(slide, 0, 0, 13.333, 1.2, SAFFRON)
add_rect(slide, 0, 6.8, 13.333, 0.7, SAFFRON)

add_textbox(slide, 0.5, 0.1, 12.0, 1.0,
            "विष - व्याख्या व प्रकार",
            font_size=30, bold=True, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

# 2-column layout
add_rect(slide, 0.4, 1.4, 5.8, 5.2, DARK_GREEN)
add_rect(slide, 6.8, 1.4, 6.0, 5.2, DARK_GREEN)

add_textbox(slide, 0.5, 1.45, 5.6, 0.6,
            "विषाचे प्रकार (Types of Visha)",
            font_size=17, bold=True, color=SAFFRON, align=PP_ALIGN.CENTER)

types = [
    "1. स्थावर विष - वनस्पती विष",
    "   (Plant poisons - e.g. वत्सनाभ)",
    "2. जंगम विष - प्राणी विष",
    "   (Animal poisons - snake, scorpion)",
    "3. गर विष - मिश्र विष",
    "   (Compound/artificial poison)",
    "4. दूषी विष - जुने विष",
    "   (Old/chronic cumulative poison)",
]
add_multi_para(slide, 0.5, 2.0, 5.6, 4.5,
               types, font_size=15, color=WHITE, spacing_after=Pt(5))

add_textbox(slide, 6.9, 1.45, 5.8, 0.6,
            "विषाचे दहा गुण (Ten Properties)",
            font_size=17, bold=True, color=SAFFRON, align=PP_ALIGN.CENTER)

props = [
    "1. रूक्ष (Dry)    2. उष्ण (Hot)",
    "3. आशु (Fast)   4. तीक्ष्ण (Sharp)",
    "5. सूक्ष्म (Subtle) 6. व्यवायी (Spreading)",
    "7. विकासी (Dissolving)",
    "8. अभिष्यंदी (Obstructing)",
    "9. योगवाही (Synergistic)",
    "10. आशुकारी (Quick Acting)",
]
add_multi_para(slide, 6.9, 2.0, 5.8, 4.5,
               props, font_size=15, color=WHITE, spacing_after=Pt(6))

add_textbox(slide, 0.3, 6.82, 12.7, 0.45,
            "चरक संहिता - चिकित्सास्थान", font_size=13,
            color=DEEP_BROWN, align=PP_ALIGN.CENTER)

# ─────────────────────────────────────────────
# SLIDE 4 — INTRO TO 24 UPKRAMA
# ─────────────────────────────────────────────
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, DARK_GREEN)
add_rect(slide, 0, 0, 13.333, 1.2, SAFFRON)
add_rect(slide, 0, 6.8, 13.333, 0.7, SAFFRON)

add_textbox(slide, 0.5, 0.1, 12.0, 1.0,
            "चतुर्विंशति उपक्रम - परिचय",
            font_size=30, bold=True, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

add_rect(slide, 0.5, 1.35, 12.2, 1.5, CREAM)
add_textbox(slide, 0.6, 1.45, 12.0, 1.3,
            '"आचार्य चरकाने विषावरील चोवीस उपचार पद्धती सांगितल्या आहेत,\nज्या सर्व प्रकारच्या विषांसाठी सामान्य मार्गदर्शक तत्त्वे आहेत."',
            font_size=16, italic=True, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

points2 = [
    "● चतुर्विंशति = चोवीस (24); उपक्रम = उपचार पद्धती / Treatment Modalities",
    "● हे उपक्रम स्थावर, जंगम, गर व दूषी सर्व विषांसाठी उपयोगी आहेत.",
    "● उपक्रम निवड: विष प्रकृती, सात्म्य, ऋतु, देश, वेग व बलाबल यावर आधारित.",
    "● आधुनिक वैद्यकशास्त्रातील poisoning management च्या तत्त्वांशी साम्य आढळते.",
    "● संदर्भ: चरक संहिता (चिकित्सास्थान), सुश्रुत संहिता (कल्पस्थान), अष्टांगहृदय.",
]
add_multi_para(slide, 0.7, 3.0, 12.0, 3.7,
               points2, font_size=17, color=WHITE, spacing_after=Pt(8))

add_textbox(slide, 0.3, 6.82, 12.7, 0.45,
            "सामान्य विष चिकित्सा सूत्र | General Poison Treatment Protocol",
            font_size=13, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

# ─────────────────────────────────────────────
# SLIDE 5 — 24 UPKRAMA LIST (Part 1: 1-12)
# ─────────────────────────────────────────────
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, CREAM)
add_rect(slide, 0, 0, 13.333, 1.1, DARK_GREEN)
add_rect(slide, 0, 6.8, 13.333, 0.7, DARK_GREEN)

add_textbox(slide, 0.4, 0.1, 12.5, 0.9,
            "२४ उपक्रम - भाग १ (क्र. १ ते १२)",
            font_size=28, bold=True, color=WHITE, align=PP_ALIGN.CENTER)

upkrama_1 = [
    ("१. मन्त्र", "Mantra - मंत्र उच्चारण, Psycho-spiritual therapy"),
    ("२. मणि धारण", "Mani Dharana - रत्न/मणी धारण करणे, Gem therapy"),
    ("३. ओषधी", "Aushadhi - औषधी वनस्पती, Herbal medicines"),
    ("४. अग्नि", "Agni - अग्नि चिकित्सा, Fire/Heat therapy"),
    ("५. मृत्तिका", "Mrittika - माती, Clay/Earth application"),
    ("६. सर्पिस्", "Sarpis - तूप (Ghee), Ghrita administration"),
    ("७. क्षार", "Kshara - क्षारीय द्रव्ये, Alkaline compounds"),
    ("८. उद्गार", "Udgara - ढेकर येणे / Emesis promotion"),
    ("९. वमन", "Vamana - उलटी करविणे, Emesis/vomiting"),
    ("१०. विरेचन", "Virechana - जुलाब, Purgation"),
    ("११. अवगाह", "Avagaha - औषधी पाण्यात बसविणे, Medicated bath"),
    ("१२. धूम", "Dhooma - औषधी धुराचे सेवन, Medicated fumigation"),
]

col_w = 6.0
start_x_1 = 0.3
start_x_2 = 6.7

for i, (name, desc) in enumerate(upkrama_1[:6]):
    y = 1.2 + i * 0.90
    add_rect(slide, start_x_1, y, col_w, 0.82, DARK_GREEN)
    add_textbox(slide, start_x_1 + 0.05, y + 0.05, 2.0, 0.72,
                name, font_size=14, bold=True, color=SAFFRON)
    add_textbox(slide, start_x_1 + 2.05, y + 0.05, 3.9, 0.72,
                desc, font_size=12, color=WHITE, word_wrap=True)

for i, (name, desc) in enumerate(upkrama_1[6:]):
    y = 1.2 + i * 0.90
    add_rect(slide, start_x_2, y, col_w, 0.82, DARK_GREEN)
    add_textbox(slide, start_x_2 + 0.05, y + 0.05, 2.0, 0.72,
                name, font_size=14, bold=True, color=SAFFRON)
    add_textbox(slide, start_x_2 + 2.05, y + 0.05, 3.9, 0.72,
                desc, font_size=12, color=WHITE, word_wrap=True)

add_textbox(slide, 0.3, 6.82, 12.7, 0.45,
            "चतुर्विंशति उपक्रम | भाग १", font_size=13,
            color=WHITE, align=PP_ALIGN.CENTER)

# ─────────────────────────────────────────────
# SLIDE 6 — 24 UPKRAMA LIST (Part 2: 13-24)
# ─────────────────────────────────────────────
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, CREAM)
add_rect(slide, 0, 0, 13.333, 1.1, SAFFRON)
add_rect(slide, 0, 6.8, 13.333, 0.7, SAFFRON)

add_textbox(slide, 0.4, 0.1, 12.5, 0.9,
            "२४ उपक्रम - भाग २ (क्र. १३ ते २४)",
            font_size=28, bold=True, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

upkrama_2 = [
    ("१३. नस्य", "Nasya - नाकाद्वारे औषध देणे, Nasal instillation"),
    ("१४. रक्तमोक्षण", "Raktamokshana - रक्त काढणे, Bloodletting"),
    ("१५. शिरोविरेचन", "Shirovirechana - डोक्यातून विरेचन, Head purgation"),
    ("१६. मूर्च्छनाशन", "Murchhanashan - मूर्च्छा दूर करणे, Anti-syncope"),
    ("१७. अंजन", "Anjana - डोळ्यात औषध, Eye medication/collyrium"),
    ("१८. प्रतिसरण", "Pratisarana - स्थानिक लेप, Local application/rubbing"),
    ("१९. गण्डूष", "Gandusha - तोंडात औषध भरणे, Mouth gargling"),
    ("२०. कवल", "Kavala - तोंड धुणे, Mouth rinse"),
    ("२१. पान", "Pana - औषधी पेय देणे, Medicinal drink"),
    ("२२. उत्कारिका", "Utkarika - विशेष बाहेरून लेपन, Poultice/paste"),
    ("२३. प्रलेप", "Pralepa - लेप लावणे, Topical paste application"),
    ("२४. सेचन", "Sechana - शरीरावर पाणी/औषध ओतणे, Sprinkling/pouring"),
]

col_w = 6.0
start_x_1 = 0.3
start_x_2 = 6.7

for i, (name, desc) in enumerate(upkrama_2[:6]):
    y = 1.2 + i * 0.90
    add_rect(slide, start_x_1, y, col_w, 0.82, DARK_GREEN)
    add_textbox(slide, start_x_1 + 0.05, y + 0.05, 2.0, 0.72,
                name, font_size=14, bold=True, color=SAFFRON)
    add_textbox(slide, start_x_1 + 2.05, y + 0.05, 3.9, 0.72,
                desc, font_size=12, color=WHITE, word_wrap=True)

for i, (name, desc) in enumerate(upkrama_2[6:]):
    y = 1.2 + i * 0.90
    add_rect(slide, start_x_2, y, col_w, 0.82, DARK_GREEN)
    add_textbox(slide, start_x_2 + 0.05, y + 0.05, 2.0, 0.72,
                name, font_size=14, bold=True, color=SAFFRON)
    add_textbox(slide, start_x_2 + 2.05, y + 0.05, 3.9, 0.72,
                desc, font_size=12, color=WHITE, word_wrap=True)

add_textbox(slide, 0.3, 6.82, 12.7, 0.45,
            "चतुर्विंशति उपक्रम | भाग २", font_size=13,
            color=DEEP_BROWN, align=PP_ALIGN.CENTER)

# ─────────────────────────────────────────────
# SLIDE 7 — VAMANA (detailed)
# ─────────────────────────────────────────────
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, DARK_GREEN)
add_rect(slide, 0, 0, 13.333, 1.2, SAFFRON)
add_rect(slide, 0, 6.8, 13.333, 0.7, SAFFRON)

add_textbox(slide, 0.4, 0.1, 12.5, 1.0,
            "वमन उपक्रम - विष उपचारातील महत्त्व",
            font_size=28, bold=True, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

# Left box
add_rect(slide, 0.4, 1.35, 5.8, 5.2, CREAM)
add_textbox(slide, 0.5, 1.4, 5.6, 0.6,
            "वमन (Vamana - Emesis)", font_size=19, bold=True,
            color=DARK_GREEN, align=PP_ALIGN.CENTER)
vamana = [
    "● विष अन्नमार्गातून काढून टाकणे.",
    "● आधुनिक Gastric Lavage / Induced Emesis शी समतुल्य.",
    "● द्रव्ये: मदनफल, लवण, यष्टीमधू, कुटज.",
    "● गरम पाण्याचे अधिक प्रमाण पिऊन वमन.",
    "● विरोधाभास: बेशुद्ध रुग्ण, अतिशय क्षीण व्यक्ती.",
    "● वमनानंतर धन्वन्तरी घृत किंवा तूप द्यावे.",
]
add_multi_para(slide, 0.5, 1.95, 5.6, 4.3,
               vamana, font_size=15, color=DEEP_BROWN, spacing_after=Pt(7))

# Right box
add_rect(slide, 6.9, 1.35, 5.9, 5.2, CREAM)
add_textbox(slide, 7.0, 1.4, 5.7, 0.6,
            "विरेचन (Virechana - Purgation)", font_size=19, bold=True,
            color=DARK_GREEN, align=PP_ALIGN.CENTER)
virechana = [
    "● विष पचन संस्थेतून खालून काढणे.",
    "● आधुनिक Catharsis / Activated Charcoal शी तुलना.",
    "● द्रव्ये: त्रिफळा, एरंड तेल, सप्तला, स्वर्णपत्री.",
    "● Whole Bowel Irrigation चे आयुर्वेदिक स्वरूप.",
    "● विषाचे आंत्रमार्गातून जलद निष्कासन.",
    "● अतिसार झाल्यास विरेचन टाळावे.",
]
add_multi_para(slide, 7.0, 1.95, 5.7, 4.3,
               virechana, font_size=15, color=DEEP_BROWN, spacing_after=Pt(7))

add_textbox(slide, 0.3, 6.82, 12.7, 0.45,
            "Emesis & Purgation - Primary Decontamination Methods",
            font_size=13, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

# ─────────────────────────────────────────────
# SLIDE 8 — RAKTAMOKSHANA & NASYA
# ─────────────────────────────────────────────
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, LIGHT_AMBER)
add_rect(slide, 0, 0, 13.333, 1.2, DARK_GREEN)
add_rect(slide, 0, 6.8, 13.333, 0.7, DARK_GREEN)

add_textbox(slide, 0.4, 0.1, 12.5, 1.0,
            "रक्तमोक्षण व नस्य उपक्रम",
            font_size=28, bold=True, color=WHITE, align=PP_ALIGN.CENTER)

add_rect(slide, 0.4, 1.35, 5.8, 5.2, DARK_GREEN)
add_textbox(slide, 0.5, 1.4, 5.6, 0.6,
            "रक्तमोक्षण (Bloodletting)", font_size=19, bold=True,
            color=SAFFRON, align=PP_ALIGN.CENTER)
rakta = [
    "● दूषित रक्त शरीराबाहेर काढणे.",
    "● जळवा (Leech), शिंगे, सुई वापर.",
    "● सर्पदंश, कीटकदंश यात प्रभावी.",
    "● विष रक्तात मिसळण्यापूर्वी प्रयोग करावा.",
    "● आधुनिक Exchange Transfusion शी साम्य.",
    "● सुश्रुत संहितेत विशेष विवेचन.",
]
add_multi_para(slide, 0.5, 1.95, 5.6, 4.3,
               rakta, font_size=15, color=WHITE, spacing_after=Pt(8))

add_rect(slide, 6.9, 1.35, 5.9, 5.2, DARK_GREEN)
add_textbox(slide, 7.0, 1.4, 5.7, 0.6,
            "नस्य (Nasal Instillation)", font_size=19, bold=True,
            color=SAFFRON, align=PP_ALIGN.CENTER)
nasya = [
    "● नाकाद्वारे औषध द्रव्य देणे.",
    "● डोक्यात गेलेल्या विषावर उपयुक्त.",
    "● विद्याधरघृत, अणुतेल वापर.",
    "● मेंदूपर्यंत त्वरित परिणाम.",
    "● Intranasal drug delivery शी साम्य.",
    "● मूर्च्छा, दौर्बल्य, शिरोरोगात उपयुक्त.",
]
add_multi_para(slide, 7.0, 1.95, 5.7, 4.3,
               nasya, font_size=15, color=WHITE, spacing_after=Pt(8))

add_textbox(slide, 0.3, 6.82, 12.7, 0.45,
            "विषाच्या तातडीच्या व्यवस्थापनातील महत्त्वाचे उपक्रम",
            font_size=13, color=WHITE, align=PP_ALIGN.CENTER)

# ─────────────────────────────────────────────
# SLIDE 9 — UPKRAMA SELECTION PRINCIPLES
# ─────────────────────────────────────────────
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, CREAM)
add_rect(slide, 0, 0, 13.333, 1.2, SAFFRON)
add_rect(slide, 0, 6.8, 13.333, 0.7, SAFFRON)

add_textbox(slide, 0.4, 0.1, 12.5, 1.0,
            "उपक्रम निवडीची तत्त्वे",
            font_size=28, bold=True, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

factors = [
    ("विष प्रकृती\n(Visha Prakriti)", "विषाचा स्वभाव व गुण पाहून उपक्रम निवडावा.\nउष्ण विषासाठी शीत उपक्रम, शीत विषासाठी उष्ण उपक्रम."),
    ("सात्म्य\n(Satmya)", "रुग्णाच्या शरीराला कोणते उपक्रम सहन होतात\nते पाहून निवड करावी."),
    ("ऋतु\n(Ritu)", "ऋतुनुसार उपक्रम बदलतो. उन्हाळ्यात शीत,\nहिवाळ्यात उष्ण उपक्रम श्रेयस्कर."),
    ("देश\n(Desha)", "रुग्ण कोणत्या प्रदेशातील आहे,\nत्या प्रदेशाचे हवामान व परंपरा लक्षात घ्यावी."),
    ("वेग\n(Vega)", "विषाचा वेग म्हणजे तीव्रता व प्रसार गती.\nवेगानुसार उपक्रमाची तीव्रता ठरवावी."),
    ("बलाबल\n(Balaabala)", "रुग्णाचे व विषाचे बल-दौर्बल्य तोलून\nयोग्य उपक्रम निवडावा."),
]

positions = [
    (0.4, 1.35), (4.55, 1.35), (8.7, 1.35),
    (0.4, 4.0),  (4.55, 4.0),  (8.7, 4.0),
]
bw = 4.0
bh = 2.4
for (factor_name, factor_desc), (fx, fy) in zip(factors, positions):
    add_rect(slide, fx, fy, bw, bh, DARK_GREEN)
    add_textbox(slide, fx + 0.1, fy + 0.1, bw - 0.2, 0.65,
                factor_name, font_size=15, bold=True,
                color=SAFFRON, align=PP_ALIGN.CENTER)
    add_textbox(slide, fx + 0.1, fy + 0.7, bw - 0.2, bh - 0.8,
                factor_desc, font_size=12, color=WHITE,
                word_wrap=True, align=PP_ALIGN.CENTER)

add_textbox(slide, 0.3, 6.82, 12.7, 0.45,
            "उपक्रम निवड सूत्र | चरक संहिता",
            font_size=13, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

# ─────────────────────────────────────────────
# SLIDE 10 — MODERN CORRELATION
# ─────────────────────────────────────────────
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, DARK_GREEN)
add_rect(slide, 0, 0, 13.333, 1.2, GOLD)
add_rect(slide, 0, 6.8, 13.333, 0.7, GOLD)

add_textbox(slide, 0.4, 0.1, 12.5, 1.0,
            "आधुनिक विज्ञानाशी तुलना",
            font_size=28, bold=True, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

headers = ["आयुर्वेद उपक्रम", "आधुनिक समकक्ष (Modern Equivalent)"]
rows = [
    ("वमन (Vamana)", "Induced Emesis / Gastric Lavage"),
    ("विरेचन (Virechana)", "Cathartics / Whole Bowel Irrigation"),
    ("रक्तमोक्षण (Raktamokshana)", "Exchange Transfusion / Phlebotomy"),
    ("नस्य (Nasya)", "Intranasal drug delivery"),
    ("अंजन (Anjana)", "Ocular irrigation / Eye drops"),
    ("धूम (Dhooma)", "Inhalational therapy"),
    ("अवगाह (Avagaha)", "Hydrotherapy / Medicated Bath"),
    ("मन्त्र (Mantra)", "Psychological counseling / Relaxation"),
    ("क्षार (Kshara)", "Alkaline antidote therapy"),
    ("सर्पिस् (Sarpis/Ghrita)", "Demulcent / Protective coating"),
]

add_rect(slide, 0.4, 1.35, 6.0, 0.55, SAFFRON)
add_textbox(slide, 0.4, 1.35, 6.0, 0.55,
            headers[0], font_size=16, bold=True,
            color=DEEP_BROWN, align=PP_ALIGN.CENTER)
add_rect(slide, 6.5, 1.35, 6.5, 0.55, SAFFRON)
add_textbox(slide, 6.5, 1.35, 6.5, 0.55,
            headers[1], font_size=16, bold=True,
            color=DEEP_BROWN, align=PP_ALIGN.CENTER)

for i, (aw, mw) in enumerate(rows):
    y = 1.95 + i * 0.47
    bg = CREAM if i % 2 == 0 else LIGHT_GREEN
    add_rect(slide, 0.4, y, 6.0, 0.44, bg)
    add_textbox(slide, 0.45, y + 0.02, 5.9, 0.40,
                aw, font_size=13, color=DEEP_BROWN)
    add_rect(slide, 6.5, y, 6.5, 0.44, bg)
    add_textbox(slide, 6.55, y + 0.02, 6.4, 0.40,
                mw, font_size=13, color=DEEP_BROWN)

add_textbox(slide, 0.3, 6.82, 12.7, 0.45,
            "Ancient Wisdom meets Modern Science",
            font_size=13, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

# ─────────────────────────────────────────────
# SLIDE 11 — AUSHADHI & AGNI UPKRAMA
# ─────────────────────────────────────────────
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, LIGHT_AMBER)
add_rect(slide, 0, 0, 13.333, 1.2, DARK_GREEN)
add_rect(slide, 0, 6.8, 13.333, 0.7, DARK_GREEN)

add_textbox(slide, 0.4, 0.1, 12.5, 1.0,
            "ओषधी व अग्नि उपक्रम",
            font_size=28, bold=True, color=WHITE, align=PP_ALIGN.CENTER)

add_rect(slide, 0.4, 1.35, 5.8, 5.2, DARK_GREEN)
add_textbox(slide, 0.5, 1.4, 5.6, 0.6,
            "ओषधी उपक्रम (Herbal Medicines)", font_size=18, bold=True,
            color=SAFFRON, align=PP_ALIGN.CENTER)
aushadhi = [
    "● विषनाशक वनस्पती: शिरीष, हरितकी, शुंठी.",
    "● वत्सनाभ विष: सुवर्ण भस्म, मयूरपिच्छ.",
    "● सर्पविष: तण्डुलीयक, कालमेघ, निम्ब.",
    "● Antidote तत्त्व: Specific & Non-specific.",
    "● घृत (Ghee): Lipophilic poisons साठी.",
    "● मधु + घृत: Universal antidote म्हणून वापर.",
]
add_multi_para(slide, 0.5, 1.95, 5.6, 4.3,
               aushadhi, font_size=15, color=WHITE, spacing_after=Pt(7))

add_rect(slide, 6.9, 1.35, 5.9, 5.2, DARK_GREEN)
add_textbox(slide, 7.0, 1.4, 5.7, 0.6,
            "अग्नि उपक्रम (Fire Therapy)", font_size=18, bold=True,
            color=SAFFRON, align=PP_ALIGN.CENTER)
agni = [
    "● उष्णतेने विष नष्ट करणे (Cauterization).",
    "● सर्पदंश, वृश्चिक दंश यात जखम दागणे.",
    "● आधुनिक Cauterization / Burning शी साम्य.",
    "● विष उष्णतेने निष्प्रभ होण्याची संकल्पना.",
    "● स्थानिक दाह उपचार (Local Heat Application).",
    "● अर्क / दीपन औषधे देखील या प्रकारात.",
]
add_multi_para(slide, 7.0, 1.95, 5.7, 4.3,
               agni, font_size=15, color=WHITE, spacing_after=Pt(7))

add_textbox(slide, 0.3, 6.82, 12.7, 0.45,
            "ओषधी व अग्नि - विष प्रतिकाराचे महत्त्वाचे उपक्रम",
            font_size=13, color=WHITE, align=PP_ALIGN.CENTER)

# ─────────────────────────────────────────────
# SLIDE 12 — IMPORTANCE & SUMMARY
# ─────────────────────────────────────────────
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, CREAM)
add_rect(slide, 0, 0, 13.333, 1.2, SAFFRON)
add_rect(slide, 0, 6.8, 13.333, 0.7, SAFFRON)

add_textbox(slide, 0.4, 0.1, 12.5, 1.0,
            "चतुर्विंशति उपक्रमाचे महत्त्व",
            font_size=28, bold=True, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

importance = [
    "✅  सर्व प्रकारच्या विषांसाठी सामान्य उपचार मार्गदर्शिका.",
    "✅  आधुनिक Toxicology च्या तत्त्वांशी उल्लेखनीय साम्य आढळते.",
    "✅  रुग्णाची स्थिती, विष प्रकार, ऋतु व देश पाहून लवचिक उपचार.",
    "✅  प्राथमिक चिकित्सा ते दीर्घकालीन पुनर्वसनापर्यंत सर्व टप्पे समाविष्ट.",
    "✅  मानसिक उपचार (मन्त्र) ते शल्यकर्म (रक्तमोक्षण) पर्यंत व्यापक दृष्टिकोन.",
    "✅  आचार्य चरकाचे हे विश्लेषण 3000 वर्षांपूर्वी लिहिले गेले - आजही प्रासंगिक.",
    "✅  एकात्मिक / Integrative Toxicology चा पाया म्हणून उपयुक्त.",
]
add_multi_para(slide, 0.6, 1.4, 12.0, 5.0,
               importance, font_size=17, color=DEEP_BROWN, spacing_after=Pt(10))

add_textbox(slide, 0.3, 6.82, 12.7, 0.45,
            "प्राचीन ज्ञान | आधुनिक प्रासंगिकता",
            font_size=13, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

# ─────────────────────────────────────────────
# SLIDE 13 — THANK YOU / CONCLUSION
# ─────────────────────────────────────────────
slide = prs.slides.add_slide(blank)
add_rect(slide, 0, 0, 13.333, 7.5, DARK_GREEN)
add_rect(slide, 0, 0, 13.333, 1.5, SAFFRON)
add_rect(slide, 0, 6.0, 13.333, 1.5, SAFFRON)
add_rect(slide, 2.0, 1.8, 9.333, 3.9, CREAM)

add_textbox(slide, 0.4, 0.1, 12.5, 0.8,
            "अगदतंत्र | आयुर्वेद विष विज्ञान",
            font_size=22, bold=True, color=DEEP_BROWN, align=PP_ALIGN.CENTER)
add_textbox(slide, 0.4, 0.8, 12.5, 0.6,
            "Agadtantra - Ayurvedic Toxicology",
            font_size=16, italic=True, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

add_textbox(slide, 2.2, 2.0, 9.0, 1.2,
            "धन्यवाद!", font_size=48, bold=True,
            color=DARK_GREEN, align=PP_ALIGN.CENTER)
add_textbox(slide, 2.2, 3.1, 9.0, 0.7,
            "Thank You!", font_size=28, bold=True,
            color=DARK_SAFFRON, align=PP_ALIGN.CENTER)

add_textbox(slide, 2.2, 3.7, 9.0, 1.3,
            "चतुर्विंशति उपक्रम - आचार्य चरकाने सांगितलेल्या\nविष उपचाराच्या चोवीस पद्धती आजही मार्गदर्शक आहेत.",
            font_size=15, color=DEEP_BROWN, align=PP_ALIGN.CENTER, word_wrap=True)

add_textbox(slide, 0.4, 6.05, 12.5, 0.7,
            "संदर्भ: चरक संहिता | सुश्रुत संहिता | अष्टांगहृदय | JAIMS Journal 2023",
            font_size=13, color=DEEP_BROWN, align=PP_ALIGN.CENTER)

# ─────────────────────────────────────────────
# SAVE
# ─────────────────────────────────────────────
output_path = "/tmp/workspace/agadtantra-ppt/Chaturvinshati_Upkrama_Agadtantra_Marathi.pptx"
prs.save(output_path)
print(f"Saved: {output_path}")
print(f"Slides: {len(prs.slides)}")
Running Command

cd /tmp/workspace/agadtantra-ppt && python create_ppt.py

तुमची PPT तयार आहे! खाली डाउनलोड करा:

Chaturvinshati Upkrama Agadtantra Marathi

Presentation · PPTX


PPT मध्ये काय आहे - 13 Slides

स्लाइडविषय
1शीर्षक स्लाइड - चतुर्विंशति उपक्रम (सोनेरी-हिरव्या थीमसह)
2अगदतंत्र परिचय - शाखा, विषाचे प्रकार
3विष - व्याख्या व प्रकार - स्थावर, जंगम, गर, दूषी विष; दहा गुण
4चतुर्विंशति उपक्रम परिचय - सामान्य तत्त्वे
5२४ उपक्रम - भाग १ (१ ते १२) - मन्त्र ते धूम
6२४ उपक्रम - भाग २ (१३ ते २४) - नस्य ते सेचन
7वमन व विरेचन - तपशील व आधुनिक तुलना
8रक्तमोक्षण व नस्य - तपशील
9उपक्रम निवडीची तत्त्वे - विष प्रकृती, सात्म्य, ऋतु, देश, वेग, बलाबल
10आधुनिक विज्ञानाशी तुलना - comparative table
11ओषधी व अग्नि उपक्रम - herbs & fire therapy
12महत्त्व व सारांश
13धन्यवाद स्लाइड
थीम: आयुर्वेदिक केशर-हिरवी रंगयोजना | भाषा: मराठी + English subtitles | संदर्भ: चरक संहिता, सुश्रुत संहिता, अष्टांगहृदय
This is a shared conversation. Sign in to Orris to start your own chat.