Sariva plant in dravya 10 pages rvedic and allopathic compilation 10 pages pdf in english

Reading File
Reading File
Searching the Web

Sariva Hemidesmus indicus Ayurvedic dravyaguna properties pharmacology

Reading Web Page

http://interscience.org.uk/images/article/v8-i1/11ijahm.pdf

Searching PubMed

Hemidesmus indicus pharmacology

Finding Sources
Reading Article

PMID: 32007632

Searching Images

Hemidesmus indicus Indian sarsaparilla Sariva plant roots

Clinical photograph of skeletal specimens demonstrating taphonomic alterations due to plant activity. Image (A) shows a scapula extensively covered by a dense, fibrous network of fine, beige-colored plant roots. The growth completely encompasses the bone, obscuring the cortical surface and demonstrating the capacity of root infiltration to colonize skeletal remains. Image (B) displays a cranium exhibiting severe destruction and fragmentation. Visible plant roots are intertwined within the cranial structure, contributing to mechanical fracturing along suture lines and erosion of the cortical and trabecular bone, particularly around the nasal and lacrimal regions. Both images include a centimeter scale for reference. These specimens illustrate the processes of post-mortem bone degradation (taphonomy) and the bioerosive role of flora in forensic and osteological contexts, specifically highlighting how plant root systems can compromise the integrity of human or comparative mammalian remains.

Clinical photograph of skeletal specimens demonstrating taphonomic alterations due to plant activity. Image (A) shows a scapula extensively covered by a dense, fibrous network of fine, beige-colored plant roots. The growth completely encompasses the bone, obscuring the cortical surface and demonstrating the capacity of root infiltration to colonize skeletal remains. Image (B) displays a cranium exhibiting severe destruction and fragmentation. Visible plant roots are intertwined within the cranial structure, contributing to mechanical fracturing along suture lines and erosion of the cortical and trabecular bone, particularly around the nasal and lacrimal regions. Both images include a centimeter scale for reference. These specimens illustrate the processes of post-mortem bone degradation (taphonomy) and the bioerosive role of flora in forensic and osteological contexts, specifically highlighting how plant root systems can compromise the integrity of human or comparative mammalian remains.

This composite educational image illustrates the in planta biofilm formation and root colonization of Sinorhizobium meliloti strains on alfalfa (Medicago sativa) roots, serving as a model for symbiotic plant-microbe interactions. Panel A features confocal laser scanning microscopy (CLSM) images taken 3 days post-inoculation (dpi). Green fluorescent protein (GFP)-labeled bacterial strains—the wild-type Rm1021 and mutant strains 1021FDCSS (fadD), 1021rhbA (siderophore-defective), and G212rirA (iron-regulator defective)—demonstrate varying colonization efficiencies. The wild-type shows robust, distributed green fluorescence along the root surface and root hairs, while the mutants exhibit significantly reduced fluorescence, with G212rirA showing minimal attachment. Panel B presents a bar graph of colony-forming units (CFU) per gram of root fresh weight (RFW) across four time points: 2 hours, 1 dpi, 2 dpi, and 3 dpi. The quantitative data mirrors the visual findings, showing that the wild-type Rm1021 achieves the highest colonization density (reaching ~10^7 CFU/g), whereas mutations in fadD, rhbA, and rirA genes lead to progressively lower colonization rates, highlighting the roles of fatty acid metabolism and iron homeostasis in bacterial biofilm establishment.

This composite educational image illustrates the in planta biofilm formation and root colonization of Sinorhizobium meliloti strains on alfalfa (Medicago sativa) roots, serving as a model for symbiotic plant-microbe interactions. Panel A features confocal laser scanning microscopy (CLSM) images taken 3 days post-inoculation (dpi). Green fluorescent protein (GFP)-labeled bacterial strains—the wild-type Rm1021 and mutant strains 1021FDCSS (fadD), 1021rhbA (siderophore-defective), and G212rirA (iron-regulator defective)—demonstrate varying colonization efficiencies. The wild-type shows robust, distributed green fluorescence along the root surface and root hairs, while the mutants exhibit significantly reduced fluorescence, with G212rirA showing minimal attachment. Panel B presents a bar graph of colony-forming units (CFU) per gram of root fresh weight (RFW) across four time points: 2 hours, 1 dpi, 2 dpi, and 3 dpi. The quantitative data mirrors the visual findings, showing that the wild-type Rm1021 achieves the highest colonization density (reaching ~10^7 CFU/g), whereas mutations in fadD, rhbA, and rirA genes lead to progressively lower colonization rates, highlighting the roles of fatty acid metabolism and iron homeostasis in bacterial biofilm establishment.

Running Command

mkdir -p /tmp/workspace/sariva-pdf && ls /tmp/workspace/

Writing File

~/sariva-pdf/generate_sariva.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, PageBreak, KeepTogether
)
from reportlab.platypus.tableofcontents import TableOfContents
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.pdfgen import canvas
import datetime

OUTPUT = "/tmp/workspace/sariva-pdf/Sariva_Dravyaguna_Compilation.pdf"

# ── Custom canvas for headers/footers ──────────────────────────────────────
class SarivaCanvas(canvas.Canvas):
    def __init__(self, filename, **kw):
        super().__init__(filename, **kw)
        self._saved_page_states = []

    def showPage(self):
        self._saved_page_states.append(dict(self.__dict__))
        self._startPage()

    def save(self):
        num_pages = len(self._saved_page_states)
        for state in self._saved_page_states:
            self.__dict__.update(state)
            self.draw_page_decorations(num_pages)
            canvas.Canvas.showPage(self)
        canvas.Canvas.save(self)

    def draw_page_decorations(self, page_count):
        page_num = self._pageNumber
        w, h = A4

        # Header bar (skip cover)
        if page_num > 1:
            self.setFillColor(colors.HexColor('#1a5276'))
            self.rect(0, h - 1.5*cm, w, 1.5*cm, fill=1, stroke=0)
            self.setFillColor(colors.white)
            self.setFont("Helvetica-Bold", 9)
            self.drawString(1.5*cm, h - 0.95*cm, "SARIVA (Hemidesmus indicus) — Dravyaguna & Modern Pharmacology")
            self.drawRightString(w - 1.5*cm, h - 0.95*cm, "Compiled Reference 2026")

            # Footer
            self.setFillColor(colors.HexColor('#1a5276'))
            self.rect(0, 0, w, 0.9*cm, fill=1, stroke=0)
            self.setFillColor(colors.white)
            self.setFont("Helvetica", 8)
            self.drawString(1.5*cm, 0.3*cm, "© 2026 Ayurvedic & Allopathic Drug Compilation | For Academic Use")
            self.drawRightString(w - 1.5*cm, 0.3*cm, f"Page {page_num} of {page_count}")

# ── Styles ──────────────────────────────────────────────────────────────────
styles = getSampleStyleSheet()

cover_title = ParagraphStyle('cover_title', fontSize=32, fontName='Helvetica-Bold',
    textColor=colors.white, alignment=TA_CENTER, leading=38, spaceAfter=10)
cover_sub = ParagraphStyle('cover_sub', fontSize=16, fontName='Helvetica',
    textColor=colors.HexColor('#aed6f1'), alignment=TA_CENTER, leading=22, spaceAfter=6)
cover_info = ParagraphStyle('cover_info', fontSize=11, fontName='Helvetica',
    textColor=colors.white, alignment=TA_CENTER, leading=16)

h1 = ParagraphStyle('H1', fontSize=16, fontName='Helvetica-Bold',
    textColor=colors.HexColor('#1a5276'), spaceBefore=18, spaceAfter=8,
    borderPad=4, leading=20)
h2 = ParagraphStyle('H2', fontSize=13, fontName='Helvetica-Bold',
    textColor=colors.HexColor('#21618c'), spaceBefore=12, spaceAfter=6, leading=16)
h3 = ParagraphStyle('H3', fontSize=11, fontName='Helvetica-BoldOblique',
    textColor=colors.HexColor('#2e86c1'), spaceBefore=8, spaceAfter=4, leading=14)

body = ParagraphStyle('body', fontSize=10, fontName='Helvetica',
    textColor=colors.HexColor('#1c1c1c'), leading=15, spaceAfter=6,
    alignment=TA_JUSTIFY)
bullet = ParagraphStyle('bullet', fontSize=10, fontName='Helvetica',
    textColor=colors.HexColor('#1c1c1c'), leading=14, spaceAfter=4,
    leftIndent=14, bulletIndent=4)
italic_note = ParagraphStyle('italic_note', fontSize=9, fontName='Helvetica-Oblique',
    textColor=colors.HexColor('#555555'), leading=13, spaceAfter=4, alignment=TA_JUSTIFY)
ref_style = ParagraphStyle('ref', fontSize=8.5, fontName='Helvetica',
    textColor=colors.HexColor('#333333'), leading=12, spaceAfter=3)
box_style = ParagraphStyle('box', fontSize=10, fontName='Helvetica',
    textColor=colors.HexColor('#1a5276'), leading=14, spaceAfter=4, alignment=TA_JUSTIFY)

TABLE_HEADER = colors.HexColor('#1a5276')
TABLE_ALT = colors.HexColor('#d6eaf8')
TABLE_WHITE = colors.white

def tbl_style(has_alt=True):
    base = [
        ('BACKGROUND', (0, 0), (-1, 0), TABLE_HEADER),
        ('TEXTCOLOR', (0, 0), (-1, 0), colors.white),
        ('FONTNAME', (0, 0), (-1, 0), 'Helvetica-Bold'),
        ('FONTSIZE', (0, 0), (-1, 0), 9),
        ('FONTNAME', (0, 1), (-1, -1), 'Helvetica'),
        ('FONTSIZE', (0, 1), (-1, -1), 9),
        ('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
        ('ROWBACKGROUND', (0, 1), (-1, -1), [TABLE_WHITE, TABLE_ALT]),
        ('GRID', (0, 0), (-1, -1), 0.4, colors.HexColor('#aab7b8')),
        ('TOPPADDING', (0, 0), (-1, -1), 4),
        ('BOTTOMPADDING', (0, 0), (-1, -1), 4),
        ('LEFTPADDING', (0, 0), (-1, -1), 6),
        ('RIGHTPADDING', (0, 0), (-1, -1), 6),
        ('WORDWRAP', (0, 0), (-1, -1), 1),
    ]
    return TableStyle(base)

def info_box(text, bg=colors.HexColor('#d6eaf8'), border=colors.HexColor('#1a5276')):
    data = [[Paragraph(text, box_style)]]
    t = Table(data, colWidths=[16.5*cm])
    t.setStyle(TableStyle([
        ('BACKGROUND', (0, 0), (-1, -1), bg),
        ('BOX', (0, 0), (-1, -1), 1, border),
        ('TOPPADDING', (0, 0), (-1, -1), 8),
        ('BOTTOMPADDING', (0, 0), (-1, -1), 8),
        ('LEFTPADDING', (0, 0), (-1, -1), 10),
        ('RIGHTPADDING', (0, 0), (-1, -1), 10),
    ]))
    return t

def divider():
    return HRFlowable(width="100%", thickness=1, color=colors.HexColor('#1a5276'),
                      spaceAfter=6, spaceBefore=4)

# ── Document ─────────────────────────────────────────────────────────────────
doc = SimpleDocTemplate(
    OUTPUT, pagesize=A4,
    leftMargin=2*cm, rightMargin=2*cm,
    topMargin=2.2*cm, bottomMargin=1.5*cm,
    title="Sariva Dravyaguna & Pharmacology",
    author="Compiled 2026",
    subject="Hemidesmus indicus - Ayurvedic and Allopathic Reference"
)

story = []

# ============================================================
# COVER PAGE
# ============================================================
cover_table_data = [[
    Paragraph("SARIVA", cover_title),
], [
    Paragraph("Hemidesmus indicus R.Br. (Indian Sarsaparilla)", cover_sub),
], [
    Paragraph("Dravyaguna (Ayurvedic) & Modern Pharmacology", cover_sub),
], [
    Spacer(1, 0.5*cm),
], [
    Paragraph("A Comprehensive 10-Page Academic Compilation", cover_info),
], [
    Paragraph("Covering: Taxonomy · Dravyaguna Properties · Phytochemistry · Pharmacological Activities", cover_info),
], [
    Spacer(1, 0.4*cm),
], [
    Paragraph("Sources: Ayurvedic Formulary of India · Classical Texts · Peer-Reviewed Research 2018–2026", cover_info),
], [
    Spacer(1, 0.4*cm),
], [
    Paragraph(f"Compiled: {datetime.date.today().strftime('%B %Y')}", cover_info),
]]

cover_tbl = Table(cover_table_data, colWidths=[16.5*cm])
cover_tbl.setStyle(TableStyle([
    ('BACKGROUND', (0, 0), (-1, -1), colors.HexColor('#1a5276')),
    ('ROUNDEDCORNERS', [12, 12, 12, 12]),
    ('TOPPADDING', (0, 0), (-1, -1), 6),
    ('BOTTOMPADDING', (0, 0), (-1, -1), 6),
    ('LEFTPADDING', (0, 0), (-1, -1), 20),
    ('RIGHTPADDING', (0, 0), (-1, -1), 20),
    ('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
]))

story.append(Spacer(1, 3*cm))
story.append(cover_tbl)
story.append(Spacer(1, 2*cm))

story.append(info_box(
    "<b>About this Document:</b> This compilation presents Sariva (Hemidesmus indicus) from "
    "both the traditional Ayurvedic Dravyaguna perspective and the modern allopathic/pharmacological "
    "standpoint. It is intended for Ayurveda students, pharmacognosy researchers, and integrative "
    "medicine practitioners.",
    bg=colors.HexColor('#eaf2ff'), border=colors.HexColor('#1a5276')
))

story.append(PageBreak())

# ============================================================
# PAGE 2 — INTRODUCTION & TAXONOMY
# ============================================================
story.append(Paragraph("1. Introduction", h1))
story.append(divider())
story.append(Paragraph(
    "Sariva, known botanically as <i>Hemidesmus indicus</i> R.Br. (synonym: <i>Hemidesmus indicus</i> (L.) R. Br. ex Schult.), "
    "is one of the most highly regarded medicinal plants in Ayurveda. It is commonly called 'Indian Sarsaparilla' in English "
    "and 'Anantmool' or 'Anantavel' in various Indian languages. The plant has been used in the Indian subcontinent for "
    "thousands of years as a blood purifier, tonic, and remedy for a wide range of conditions including skin diseases, "
    "fever, urinary complaints, and venereal diseases.", body))
story.append(Paragraph(
    "The term 'Sariva' in Sanskrit refers to a plant with a pleasant fragrance arising from its roots. Ayurvedic classical "
    "texts such as Charaka Samhita, Sushruta Samhita, and Ashtanga Hridayam list Sariva as one of the ten drugs in the "
    "'Sarivadi' group and as a primary ingredient in the 'Madhura Skandha' (sweet group). The plant has also found a place "
    "in European medicine — its root syrup was made official in the British Pharmacopoeia (BP) of 1864.", body))

story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("1.1 Taxonomic Classification", h2))

tax_data = [
    ["Taxonomic Rank", "Classification"],
    ["Kingdom", "Plantae"],
    ["Division", "Magnoliophyta (Angiosperms)"],
    ["Class", "Magnoliopsida (Dicotyledons)"],
    ["Order", "Gentianales"],
    ["Family", "Apocynaceae (formerly Asclepiadaceae)"],
    ["Genus", "Hemidesmus"],
    ["Species", "H. indicus R.Br."],
    ["Common Name", "Indian Sarsaparilla, Anantmool"],
    ["Sanskrit Name", "Sariva, Anantaa, Gopakanya, Gopi"],
    ["Part Used", "Root (primary), Stem, Leaves"],
]
tax_tbl = Table(tax_data, colWidths=[7*cm, 9.5*cm])
tax_tbl.setStyle(tbl_style())
story.append(tax_tbl)

story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("1.2 Varieties of Sariva", h2))
story.append(Paragraph(
    "Classical Ayurvedic texts recognize two primary varieties of Sariva:", body))
story.append(Paragraph(
    "<b>1. Shweta Sariva (White Sariva):</b> <i>Hemidesmus indicus</i> R.Br. — This is the widely accepted "
    "and most commonly used variety. The Ayurvedic Formulary of India (AFI) recognizes this species as the "
    "authentic white Sariva. The roots have a characteristic sweet, aromatic fragrance due to the volatile "
    "compound 2-hydroxy-4-methoxybenzaldehyde.", bullet))
story.append(Paragraph(
    "<b>2. Krishna Sariva (Black Sariva):</b> <i>Cryptolepis buchananii</i> Roem. and Schult. is recognized "
    "as the black variety. In certain regions (West Bengal, Kerala), <i>Ichnocarpus frutescens</i> (L.) R.Br. "
    "is also used as a substitute for black Sariva.", bullet))

story.append(PageBreak())

# ============================================================
# PAGE 3 — BOTANICAL DESCRIPTION & DISTRIBUTION
# ============================================================
story.append(Paragraph("2. Botanical Description", h1))
story.append(divider())
story.append(Paragraph(
    "<i>Hemidesmus indicus</i> is a slender, laticiferous, twining or semi-erect perennial shrub. "
    "The name 'Hemidesmus' is derived from the Latin 'Hemidesmos' meaning 'half bond,' referring to "
    "the sub-connate filaments at their base joining the pods and connected stamens. The word 'indicus' "
    "stands for 'of India.'", body))

morph_data = [
    ["Plant Part", "Morphological Description"],
    ["Stem", "Slender, twining, woody at base; laticiferous (milky sap); brownish bark with lenticels"],
    ["Leaves", "Opposite, shortly petioled; elliptical-oblong to linear-lanceolate; upper surface dark green, "
               "lower surface whitish-silvery; midrib prominent; 2.5–5 cm long"],
    ["Flowers", "Greenish-purple outside, purple inside; small, clustered in axillary cymes; "
                "rotate corolla; 5-merous; blooms May–August"],
    ["Fruits", "Slender follicles, 10–15 cm long, spreading horizontally in pairs"],
    ["Seeds", "Oblong, flattened, with silky coma (hair tuft) at apex"],
    ["Roots", "Long, tortuous, woody, with aromatic smell; outer surface brown to grayish-brown; "
              "fracture short and fibrous; primary root of commerce"],
    ["Root Odour", "Sweet vanilla-like aroma due to 2-hydroxy-4-methoxybenzaldehyde"],
    ["Latex", "White milky latex present in all parts"],
]
morph_tbl = Table(morph_data, colWidths=[4*cm, 12.5*cm])
morph_tbl.setStyle(tbl_style())
story.append(morph_tbl)

story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("2.1 Geographical Distribution", h2))
story.append(Paragraph(
    "The plant is distributed throughout India — from the upper Gangetic plain eastwards to Assam and "
    "throughout central, western, and southern India. It is found up to 600 m altitude. Outside India, it "
    "grows in Sri Lanka, Bangladesh, Myanmar, and parts of tropical Africa. It thrives in sandy, loamy soils "
    "and open scrublands.", body))

story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("2.2 Microscopy of Root (Transverse Section)", h2))
story.append(Paragraph(
    "T.S. of the root shows the following layers from outside to inside:", body))
story.append(Paragraph("Cork cells: radially flattened, rectangular, filled with dark brown contents.", bullet))
story.append(Paragraph("Cork cambium: 2–3 layered, compressed, filled with deep brown contents.", bullet))
story.append(Paragraph("Secondary cortex: 3–4 layers with little or no dark brown contents.", bullet))
story.append(Paragraph("Secondary phloem: sieve elements, parenchyma, phloem ray cells, and scattered laticiferous ducts.", bullet))
story.append(Paragraph("Parenchyma: filled with starch grains; occasional prismatic crystals of calcium oxalate.", bullet))
story.append(Paragraph("Cambium: very narrow band.", bullet))
story.append(Paragraph("Xylem: traversed by narrow medullary rays; vessels and tracheids with pitted markings.", bullet))
story.append(Paragraph("Pith: absent; central region occupied by woody tissues.", bullet))

story.append(PageBreak())

# ============================================================
# PAGE 4 — AYURVEDIC DRAVYAGUNA (Part 1)
# ============================================================
story.append(Paragraph("3. Ayurvedic Dravyaguna Properties", h1))
story.append(divider())
story.append(Paragraph(
    "Dravyaguna is the Ayurvedic science of drug properties. It classifies drugs based on Rasa (taste), "
    "Guna (qualities), Virya (potency), Vipaka (post-digestive effect), and Prabhava (specific action). "
    "Sariva holds a prominent place in Ayurvedic Dravyaguna as a Rasayana and blood-purifying herb.", body))

story.append(Paragraph("3.1 Panchavidha Kashaya (Five-Fold Classification)", h2))
dg_data = [
    ["Dravyaguna Parameter", "Property", "Significance"],
    ["Rasa (Taste)", "Madhura (Sweet), Tikta (Bitter)", "Nourishing, blood-purifying; reduces Pitta and Vata"],
    ["Guna (Quality)", "Guru (Heavy), Snigdha (Unctuous)", "Nourishing, demulcent, lubricating properties"],
    ["Virya (Potency)", "Sheeta (Cold/Cooling)", "Anti-inflammatory, antipyretic, reduces Pitta dosha"],
    ["Vipaka (Post-digestive)", "Madhura (Sweet)", "Rejuvenating, anabolic, nutritive post-digestion"],
    ["Prabhava (Special action)", "Varnya, Raktashodhaka", "Complexion enhancer, blood purifier"],
    ["Karma (Actions)", "Tridoshahara (primarily Pittahara)", "Balances all three doshas; mainly pacifies Pitta"],
]
dg_tbl = Table(dg_data, colWidths=[4.5*cm, 5.5*cm, 6.5*cm])
dg_tbl.setStyle(tbl_style())
story.append(dg_tbl)

story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("3.2 Karma (Therapeutic Actions) in Ayurveda", h2))

karma_data = [
    ["Karma (Action)", "Sanskrit Term", "Clinical Relevance"],
    ["Blood purifier", "Raktashodhaka", "Skin diseases, chronic infections, syphilis"],
    ["Complexion enhancer", "Varnya", "Leucoderma, skin pigmentation disorders"],
    ["Fever-reducing", "Jvarahara", "Chronic and intermittent fevers"],
    ["Diuretic", "Mutrala", "Urinary tract disorders, dysuria"],
    ["Aphrodisiac / Tonic", "Vrishya / Balya", "Oligospermia, general debility, Rasayana"],
    ["Digestive stimulant", "Deepana / Pachana", "Dyspepsia, loss of appetite, anorexia"],
    ["Anti-inflammatory", "Shothahara", "Joint inflammation, gout, rheumatism"],
    ["Demulcent", "Snehana", "Burning sensation, urinary tract irritation"],
    ["Anti-diarrheal", "Grahi", "Dysentery, loose motions"],
    ["Respiratory tonic", "Kasahara, Shwasahara", "Cough, asthma, bronchitis"],
    ["Wound healing", "Vranaropaka", "Topical wounds, psoriasis, skin ulcers"],
    ["Memory enhancer", "Medhya", "Neuroprotective, cognitive function"],
    ["Immunomodulator", "Ojasya", "Immunity enhancement (Rasayana category)"],
]
karma_tbl = Table(karma_data, colWidths=[5*cm, 5*cm, 6.5*cm])
karma_tbl.setStyle(tbl_style())
story.append(karma_tbl)

story.append(PageBreak())

# ============================================================
# PAGE 5 — AYURVEDIC DRAVYAGUNA (Part 2) — Classical references
# ============================================================
story.append(Paragraph("3.3 Classical Ayurvedic References", h1))
story.append(divider())

classical_data = [
    ["Classical Text", "Group / Gana", "Indication / Context"],
    ["Charaka Samhita", "Sarivadi Gana (10 drugs), Vishaghna (anti-poison), Varnya, Stanyajanana",
     "Blood purifier, galactagogue, anti-poison, complexion enhancer"],
    ["Sushruta Samhita", "Sarivadi, Priyangvadi, Arkadi Gana",
     "Skin diseases, fever, chronic ulcers"],
    ["Ashtanga Hridayam", "Sarivadi Gana",
     "Pittahara, diuretic, fever, skin diseases"],
    ["Bhavaprakasha Nighantu", "Guduchyadi Varga",
     "Tridoshahara, blood purifier, skin and urinary disorders"],
    ["Dhanvantari Nighantu", "Shatapushpadi Varga",
     "Pitta pacification, fever, burning sensation"],
    ["Raja Nighantu", "Chandanadi Varga",
     "Rasayana, blood purifier"],
    ["AFI (Ayurvedic Formulary)", "Volume I & II",
     "Official drug; ingredient in Sarivadyasava, Mahamanjisthadyarishta, Khadirarishta"],
]
ctext_tbl = Table(classical_data, colWidths=[4*cm, 6.5*cm, 6*cm])
ctext_tbl.setStyle(tbl_style())
story.append(ctext_tbl)

story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("3.4 Important Ayurvedic Formulations Containing Sariva", h2))

form_data = [
    ["Formulation", "Type", "Therapeutic Use"],
    ["Sarivadyasava", "Asava (fermented liquid)", "Skin diseases, syphilis, leucoderma, pruritus"],
    ["Mahamanjisthadyarishta", "Arishta", "Chronic skin diseases, blood disorders"],
    ["Khadirarishta", "Arishta", "Skin diseases, leprosy, pruritus"],
    ["Chandanasava", "Asava", "Urinary tract infections, burning micturition"],
    ["Sarivadi Vati", "Tablet", "Fever, skin diseases, blood purification"],
    ["Nalpamara Kuzhambu", "Oil", "Topical skin disorders, psoriasis"],
    ["Anantamool Churna", "Powder", "Blood purifier, tonic, digestive"],
    ["Sariva Ghrita", "Medicated ghee", "Rasayana, Pitta disorders, burning sensation"],
    ["Eladi Taila", "Oil", "Skin disorders, hair care"],
    ["Panchatikta Ghrita Guggulu", "Compound", "Skin diseases, psoriasis, bone disorders"],
]
form_tbl = Table(form_data, colWidths=[5*cm, 4.5*cm, 7*cm])
form_tbl.setStyle(tbl_style())
story.append(form_tbl)

story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("3.5 Ayurvedic Dose and Administration", h2))
dose_data = [
    ["Preparation", "Dose", "Anupana (Vehicle)"],
    ["Churna (Root powder)", "3–6 g per day", "Warm water, honey, or milk"],
    ["Kwatha (Decoction)", "50–100 mL twice daily", "Plain; or with mishri (raw sugar)"],
    ["Svarasa (Fresh juice)", "10–20 mL", "Honey or water"],
    ["Sharkara / Syrup", "5–10 mL", "Water (for children as tonic)"],
    ["Cold infusion (Phanta)", "50–100 mL", "Plain"],
]
dose_tbl = Table(dose_data, colWidths=[5*cm, 4*cm, 7.5*cm])
dose_tbl.setStyle(tbl_style())
story.append(dose_tbl)

story.append(PageBreak())

# ============================================================
# PAGE 6 — PHYTOCHEMISTRY
# ============================================================
story.append(Paragraph("4. Phytochemistry of Hemidesmus indicus", h1))
story.append(divider())
story.append(Paragraph(
    "Phytochemical investigations of <i>H. indicus</i> have identified a wide array of secondary metabolites "
    "responsible for its diverse pharmacological activities. The majority of bioactive constituents are concentrated "
    "in the roots.", body))

story.append(Paragraph("4.1 Major Phytoconstituents by Plant Part", h2))
phyto_data = [
    ["Plant Part", "Phytoconstituents Identified"],
    ["Roots (Primary)", "2-hydroxy-4-methoxybenzaldehyde (2H4MB) — key aromatic aldehyde marker\n"
                        "2-hydroxy-4-methoxybenzoic acid (2H4MBA)\n"
                        "3-hydroxy-4-methoxybenzaldehyde (3H4MB)\n"
                        "Hemindicusin (pregnane glycoside)\n"
                        "Hemidesmin-1 and Hemidesmin-2 (coumarinolignoids)\n"
                        "Hemidesmol, Hemidesterol\n"
                        "beta-Amyrin, beta-Amyrin acetate, alpha-Amyrin\n"
                        "Lupeol, Lupeol acetate, Lupeol octacosanoate\n"
                        "beta-Sitosterol, Hexadecanoic acid, Hexatriacontane\n"
                        "Glucose, Resin acid, Inulin"],
    ["Stem", "Flavonoids (quercetin, rutin); tannins; saponins; alkaloids; phenolics"],
    ["Leaves", "Terpenoids; steroids; tannins; flavonoids; cardiac glycosides"],
    ["Flowers", "Volatile oils; lignins; flavonoids"],
    ["Whole plant", "Carbohydrates, proteins, amino acids, phenolic compounds"],
]
phyto_tbl = Table(phyto_data, colWidths=[3.5*cm, 13*cm])
phyto_tbl.setStyle(tbl_style())
story.append(phyto_tbl)

story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("4.2 Key Bioactive Compounds and Their Significance", h2))

bioact_data = [
    ["Compound", "Chemical Class", "Primary Activity"],
    ["2-Hydroxy-4-methoxybenzaldehyde (2H4MB)",
     "Aromatic aldehyde", "Antioxidant, anti-inflammatory, antimicrobial, anti-cancer; key marker compound"],
    ["Hemidesmin-1 and 2",
     "Coumarinolignoids", "Hepatoprotective, anti-fibrotic"],
    ["Hemindicusin",
     "Pregnane glycoside", "Cardioprotective, steroidal activity"],
    ["Hemidesmol",
     "Terpenoid alcohol", "Antimicrobial, fragrance constituent"],
    ["Lupeol / Lupeol acetate",
     "Pentacyclic triterpene", "Anti-inflammatory, anti-cancer, hepatoprotective"],
    ["beta-Sitosterol",
     "Phytosterol", "Immunomodulatory, hypolipidemic, anti-cancer"],
    ["beta-Amyrin / alpha-Amyrin",
     "Triterpenoids", "Anti-inflammatory, anti-ulcerogenic"],
    ["Flavonoids (quercetin, rutin)",
     "Polyphenols", "Antioxidant, anti-inflammatory, cardioprotective"],
    ["Tannins / Phenolics",
     "Polyphenols", "Antimicrobial, astringent, antioxidant"],
    ["Cardiac glycosides",
     "Glycosides", "Cardiotonic (at therapeutic doses)"],
    ["Inulin",
     "Polysaccharide (fructan)", "Prebiotic, immunomodulatory"],
]
bioact_tbl = Table(bioact_data, colWidths=[4.5*cm, 4.5*cm, 7.5*cm])
bioact_tbl.setStyle(tbl_style())
story.append(bioact_tbl)

story.append(Spacer(1, 0.2*cm))
story.append(info_box(
    "<b>Chemotaxonomic Marker:</b> The aromatic compound 2-hydroxy-4-methoxybenzaldehyde (2H4MB) is considered "
    "the primary chemotaxonomic marker and quality standard for <i>H. indicus</i> roots. It is responsible for "
    "the characteristic sweet vanilla-like odour of the roots and has been shown to possess significant "
    "antioxidant and anti-cancer activities in modern pharmacological studies."
))

story.append(PageBreak())

# ============================================================
# PAGE 7 — MODERN PHARMACOLOGY (Part 1)
# ============================================================
story.append(Paragraph("5. Modern (Allopathic) Pharmacology", h1))
story.append(divider())
story.append(Paragraph(
    "Extensive preclinical (in vitro and in vivo) pharmacological studies have validated many of the traditional "
    "uses of Sariva. The root extract and isolated phytoconstituents have demonstrated a wide spectrum of "
    "biological activities, confirming its status as a multi-target medicinal plant.", body))

story.append(Paragraph("5.1 Antioxidant Activity", h2))
story.append(Paragraph(
    "H. indicus root extracts demonstrate potent free radical scavenging activity in DPPH, ABTS, and superoxide "
    "anion assays. The compound 2H4MB is a principal contributor to this activity. The antioxidant property "
    "forms the mechanistic basis for many other pharmacological effects including hepatoprotection, "
    "neuroprotection, and anti-inflammatory actions. The ethanolic root extract shows IC50 values comparable "
    "to standard antioxidants.", body))

story.append(Paragraph("5.2 Hepatoprotective Activity", h2))
story.append(Paragraph(
    "One of the best-documented activities of H. indicus is its hepatoprotective effect. Studies using "
    "CCl4-induced and paracetamol-induced hepatotoxicity models in rats demonstrate significant reduction "
    "in liver enzymes (SGOT, SGPT, ALP, bilirubin) and restoration of liver histology. The coumarinolignoids "
    "Hemidesmin-1 and Hemidesmin-2 are specifically attributed to hepatoprotective mechanisms. "
    "A compound extracted from H. indicus — 2-hydroxy-4-methoxybenzoic acid — has been noted to have "
    "potent anti-inflammatory, antipyretic, and antioxidant properties (P.C. Dikshit Textbook of Forensic "
    "Medicine).", body))

story.append(Paragraph("5.3 Anti-Cancer / Anticancer Activity", h2))
story.append(Paragraph(
    "Multiple in vitro studies confirm dose-dependent cytotoxic and cytostatic effects:", body))
story.append(Paragraph(
    "- H. indicus decoction inhibited the G0/G1 phase of the cell cycle in cancer cell lines, altering "
    "cell cycle progression.", bullet))
story.append(Paragraph(
    "- Hydro-alcoholic root extract induced apoptosis in acute lymphoblastic leukemia (ALL) cell lines "
    "in a dose-dependent manner.", bullet))
story.append(Paragraph(
    "- Extract showed cytostatic effects on DLD1 colorectal adenocarcinoma cells by inhibiting the G2/M phase.", bullet))
story.append(Paragraph(
    "- Turrini et al. (2019, Sci Rep) confirmed that H. indicus induces apoptosis via proteasome inhibition "
    "and generation of reactive oxygen species (PMID: 31076590).", bullet))

story.append(Paragraph("5.4 Anti-Diabetic Activity", h2))
story.append(Paragraph(
    "Kumari et al. (2023, Comput Biol Chem) performed HR-LCMS profiling and evaluated anti-diabetic activity "
    "of H. indicus. Root extracts demonstrate alpha-glucosidase and alpha-amylase inhibitory activities "
    "comparable to standard drugs in kinetic studies. Molecular docking studies showed strong binding "
    "affinity of 2H4MB to diabetes-related enzyme targets. In streptozotocin-induced diabetic rat models, "
    "oral administration significantly reduced blood glucose, improved insulin sensitivity, and reduced "
    "oxidative stress markers (PMID: 37263051).", body))

story.append(Paragraph("5.5 Anti-Inflammatory Activity", h2))
story.append(Paragraph(
    "Aqueous and ethanolic root extracts significantly inhibit paw edema in carrageenan-induced "
    "and formalin-induced models. The anti-inflammatory mechanism involves: (a) inhibition of pro-inflammatory "
    "cytokines (TNF-alpha, IL-1beta, IL-6); (b) inhibition of COX and LOX pathways by lupeol and beta-amyrin; "
    "(c) suppression of NF-kB signaling. The activity supports traditional Ayurvedic use in rheumatism and "
    "inflammatory skin conditions.", body))

story.append(PageBreak())

# ============================================================
# PAGE 8 — MODERN PHARMACOLOGY (Part 2)
# ============================================================
story.append(Paragraph("5. Modern Pharmacology (Continued)", h1))
story.append(divider())

story.append(Paragraph("5.6 Antimicrobial Activity", h2))
story.append(Paragraph(
    "H. indicus shows broad-spectrum antimicrobial activity against both Gram-positive and Gram-negative bacteria, "
    "as well as antifungal activity.", body))

micro_data = [
    ["Organism", "Activity", "Key Compound / Reference"],
    ["Staphylococcus aureus (including MRSA)", "Antibacterial + antibiofilm",
     "Methanolic root extract augments amoxicillin/clindamycin (PMID: 36053759)"],
    ["Staphylococcus epidermidis", "Anti-biofilm",
     "2H4MB antagonizes biofilm formation (PMID: 32586125)"],
    ["Salmonella typhi", "Antibacterial", "Ethanolic root extract (MIC studies)"],
    ["Escherichia coli", "Antibacterial", "Aqueous and ethanolic extracts"],
    ["Candida albicans", "Antifungal", "Methanolic extract; MIC comparable to fluconazole"],
    ["Aspergillus niger", "Antifungal", "Root extract; disrupts fungal cell wall"],
]
micro_tbl = Table(micro_data, colWidths=[4*cm, 4*cm, 8.5*cm])
micro_tbl.setStyle(tbl_style())
story.append(micro_tbl)

story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("5.7 Nephroprotective Activity", h2))
story.append(Paragraph(
    "In cisplatin and gentamicin-induced nephrotoxicity models, H. indicus root extract significantly reduced "
    "serum creatinine, blood urea nitrogen (BUN), and urinary protein levels. Renal histopathology showed "
    "preserved tubular architecture. The mechanism involves antioxidant protection of renal tubular cells "
    "and anti-inflammatory pathways.", body))

story.append(Paragraph("5.8 Neuroprotective Activity", h2))
story.append(Paragraph(
    "Root extract exhibits neuroprotective effects in aluminium chloride-induced Alzheimer-like models "
    "in rats, with improvement in spatial memory and cognitive function. Acetylcholinesterase inhibitory "
    "activity has also been demonstrated in vitro, consistent with the classical Ayurvedic 'Medhya' "
    "(memory-enhancing) property.", body))

story.append(Paragraph("5.9 Cardioprotective Activity", h2))
story.append(Paragraph(
    "In isoproterenol-induced myocardial infarction models, H. indicus extract significantly reduced "
    "cardiac marker enzymes (CK-MB, LDH, troponin). The anti-atherogenic property mentioned in "
    "Ayurvedic literature is supported by its anti-hyperlipidemic activity — reduction of total cholesterol, "
    "LDL, triglycerides and increase of HDL in high-fat diet models.", body))

story.append(Paragraph("5.10 Immunomodulatory Activity", h2))
story.append(Paragraph(
    "The plant stimulates both humoral and cell-mediated immunity. In cyclophosphamide-immunosuppressed "
    "animal models, H. indicus extract restored white blood cell counts and antibody titers. Macrophage "
    "activation and lymphocyte proliferation assays confirm immunostimulant effects. Inulin, a "
    "polysaccharide present in roots, contributes to prebiotic-mediated immune modulation.", body))

story.append(Paragraph("5.11 Anti-Ophidian (Anti-Snake Venom) Activity", h2))
story.append(Paragraph(
    "The traditional use of Sariva in snakebite treatment has been validated pharmacologically. Root extract "
    "neutralizes the phospholipase A2 (PLA2) activity of Naja naja (cobra) and Daboia russelii (Russell's viper) "
    "venoms. The extract also shows anti-hemolytic and anti-hemorrhagic properties against viper venom, "
    "corroborating classical use as a 'Vishaghna' (anti-poison) drug.", body))

story.append(Paragraph("5.12 Anti-Ulcerogenic Activity", h2))
story.append(Paragraph(
    "In aspirin- and ethanol-induced gastric ulcer models, H. indicus extract significantly reduced ulcer "
    "index scores. The mechanism involves: strengthening of gastric mucosal barrier, increased mucus secretion, "
    "reduced acid secretion, and antioxidant protection of gastric mucosa. These findings validate the "
    "traditional Deepana-Pachana (digestive stimulant) and Pitta-pacifying actions.", body))

story.append(PageBreak())

# ============================================================
# PAGE 9 — SAFETY, TOXICOLOGY, CLINICAL USE & STANDARDIZATION
# ============================================================
story.append(Paragraph("6. Safety, Toxicology, and Quality Standards", h1))
story.append(divider())

story.append(Paragraph("6.1 Toxicological Profile", h2))
story.append(Paragraph(
    "The acute and chronic toxicity profiles of H. indicus are generally considered safe at therapeutic doses. "
    "The plant was included in the British Pharmacopoeia 1864, the Indian Pharmacopoeia, and numerous "
    "national formularies — reflecting its long-standing safety record.", body))

tox_data = [
    ["Parameter", "Finding / Guideline"],
    ["Acute oral toxicity (LD50)", "Reported as >5000 mg/kg in rodents (no mortality at this dose)"],
    ["Sub-chronic toxicity", "No significant organ toxicity at 250–500 mg/kg/day for 90 days"],
    ["Heavy metals", "Per WHO: Pb <10 ppm, As <5 ppm, Hg <0.5 ppm, Cd <0.3 ppm"],
    ["Pesticide residues", "Must adhere to national safety regulations and WHO guidelines"],
    ["Microbial load", "Total bacterial count and fungal count within pharmacopoeial bounds"],
    ["Contraindications", "Excessive use may worsen Kapha conditions; avoid overdose in pregnancy (uterotonic risk)"],
    ["Drug interactions", "May potentiate hypoglycemic drugs; monitor blood sugar with concurrent anti-diabetic therapy"],
    ["Human clinical data", "Limited; needs more designed RCTs for dose-efficacy-safety validation in humans"],
]
tox_tbl = Table(tox_data, colWidths=[5.5*cm, 11*cm])
tox_tbl.setStyle(tbl_style())
story.append(tox_tbl)

story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("6.2 Pharmacopoeial Standards and Quality Control", h2))

qc_data = [
    ["Parameter", "Standard / Value"],
    ["Foreign matter", "Not more than 2%"],
    ["Total ash", "Not more than 9% w/w"],
    ["Acid-insoluble ash", "Not more than 2% w/w"],
    ["Alcohol-soluble extractive", "Not less than 7% w/v"],
    ["Water-soluble extractive", "Not less than 10% w/v"],
    ["Moisture (Loss on drying)", "Not more than 10%"],
    ["Marker compound", "2-Hydroxy-4-methoxybenzaldehyde (HPLC quantification)"],
    ["TLC Identity test", "Characteristic spot at Rf ~0.6 in toluene:ethyl acetate (7:3)"],
    ["Pharmacopoeia", "Ayurvedic Pharmacopoeia of India (API), Vol. I, Part I"],
]
qc_tbl = Table(qc_data, colWidths=[5.5*cm, 11*cm])
qc_tbl.setStyle(tbl_style())
story.append(qc_tbl)

story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("6.3 Pharmacological Summary Table", h2))
pharm_sum = [
    ["Activity", "Evidence Level", "Key Mechanism / Compound"],
    ["Antioxidant", "Strong (in vitro)", "2H4MB, flavonoids, phenolics — DPPH/ABTS scavenging"],
    ["Hepatoprotective", "Strong (in vivo)", "Hemidesmin-1, 2; reduces SGOT/SGPT/ALP"],
    ["Anti-cancer", "Moderate (in vitro)", "Proteasome inhibition, ROS generation, cell cycle arrest"],
    ["Anti-diabetic", "Moderate (in vitro/in vivo)", "alpha-Glucosidase inhibition, insulin sensitization"],
    ["Anti-inflammatory", "Strong (in vivo)", "COX/LOX inhibition, NF-kB suppression, lupeol"],
    ["Antimicrobial", "Moderate-Strong", "2H4MB, tannins; MRSA activity (PMID 36053759)"],
    ["Nephroprotective", "Moderate (in vivo)", "Antioxidant; preserves renal tubular cells"],
    ["Neuroprotective", "Moderate (in vivo)", "AChE inhibition, antioxidant, memory enhancement"],
    ["Cardioprotective", "Moderate (in vivo)", "Antioxidant; reduces CK-MB, LDH; hypolipidemic"],
    ["Immunomodulatory", "Moderate", "Macrophage activation; inulin (prebiotic)"],
    ["Anti-snake venom", "Moderate (in vitro)", "PLA2 inhibition; anti-hemorrhagic"],
    ["Anti-ulcerogenic", "Moderate (in vivo)", "Mucus enhancement, gastric cytoprotection"],
]
pharm_sum_tbl = Table(pharm_sum, colWidths=[4.5*cm, 4*cm, 8*cm])
pharm_sum_tbl.setStyle(tbl_style())
story.append(pharm_sum_tbl)

story.append(PageBreak())

# ============================================================
# PAGE 10 — COMPARATIVE ANALYSIS, CLINICAL NOTES & REFERENCES
# ============================================================
story.append(Paragraph("7. Integrative Perspective: Ayurveda vs. Modern Science", h1))
story.append(divider())

story.append(Paragraph("7.1 Correlation Table: Ayurvedic Properties vs. Modern Findings", h2))
corr_data = [
    ["Ayurvedic Property (Karma)", "Allopathic/Modern Correlate", "Mechanistic Basis"],
    ["Raktashodhaka (Blood purifier)", "Anti-inflammatory, immunomodulatory", "TNF-a/IL-6 inhibition, lymphocyte activation"],
    ["Varnya (Complexion enhancer)", "Tyrosinase inhibition, anti-inflammatory", "Melanin synthesis reduction, anti-oxidant"],
    ["Jvarahara (Fever reducer)", "Antipyretic", "2H4MBA — anti-pyretic activity in vivo"],
    ["Mutrala (Diuretic)", "Diuretic / Nephroprotective", "Renal tubular protection; increased urine output"],
    ["Balya / Rasayana (Tonic)", "Adaptogenic, antioxidant, immuno-stimulant", "Reduction of oxidative stress markers; T-cell activation"],
    ["Medhya (Memory enhancer)", "Neuroprotective / AChE inhibitor", "Acetylcholinesterase inhibition; anti-neuroinflammatory"],
    ["Vishaghna (Anti-poison)", "Anti-ophidian / PLA2 inhibition", "Neutralizes cobra and viper venom PLA2"],
    ["Deepana-Pachana (Digestive)", "Anti-ulcerogenic, H. pylori inhibition", "Gastric mucus stimulation; COX inhibition"],
    ["Kasahara (Anti-cough)", "Antispasmodic, anti-inflammatory", "Smooth muscle relaxation; anti-inflammatory airways"],
    ["Vrishya (Aphrodisiac)", "Gonadotropic / Fertility", "Improved sperm parameters in animal models"],
]
corr_tbl = Table(corr_data, colWidths=[4.5*cm, 5*cm, 7*cm])
corr_tbl.setStyle(tbl_style())
story.append(corr_tbl)

story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("7.2 Commercial Products", h2))
story.append(Paragraph(
    "H. indicus is commercially available in multiple forms: herbal root powder, cold-pressed root extract "
    "capsules/tablets, Nannari sharbat (traditional South Indian cooling beverage), topical creams/oils "
    "for skin disorders, and as a key ingredient in polyherbal Ayurvedic formulations. Major Ayurvedic "
    "pharmaceutical companies (Dabur, Himalaya, Zandu, Arya Vaidya Sala, Kerala Ayurveda) market products "
    "containing Sariva.", body))

story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("7.3 Future Research Directions", h2))
story.append(Paragraph(
    "Despite extensive preclinical data, H. indicus research has significant gaps:", body))
story.append(Paragraph(
    "- Randomized controlled clinical trials (RCTs) are urgently needed to validate efficacy and safety in humans.", bullet))
story.append(Paragraph(
    "- Structure-activity relationship (SAR) studies for individual phytoconstituents need systematic investigation.", bullet))
story.append(Paragraph(
    "- Network pharmacology and multi-target molecular docking can help elucidate poly-pharmacological mechanisms.", bullet))
story.append(Paragraph(
    "- Bioavailability and pharmacokinetic studies are lacking — particularly oral bioavailability of 2H4MB.", bullet))
story.append(Paragraph(
    "- Green nanotechnology (nanoparticle formulations) of H. indicus extracts shows promise in recent studies.", bullet))

story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("8. References", h1))
story.append(divider())

refs = [
    "1. Nandy S, Mukherjee A, Pandey DK, Ray P, Dey A. Indian Sarsaparilla (Hemidesmus indicus): Recent progress in research on ethnobotany, phytochemistry and pharmacology. J Ethnopharmacol. 2020 May 23;255:112609. doi:10.1016/j.jep.2020.112609. PMID: 32007632.",
    "2. Pansare TA, Khandekar SB, Satpudke SS. Ayurvedic and Modern Aspects of Sariva (Hemidesmus Indicus R. Br): An Overview. International Journal of Ayurvedic and Herbal Medicine. 2018;8(1):3133-3143. DOI:10.18535/ijahm/v8i1.10.",
    "3. Turrini E, Catanzaro E, Ferruzzi L, et al. Hemidesmus indicus induces apoptosis via proteasome inhibition and generation of reactive oxygen species. Sci Rep. 2019 May 10;9(1):7199. PMID: 31076590.",
    "4. Kannappan A, Durgadevi R, Srinivasan R, et al. 2-Hydroxy-4-methoxybenzaldehyde from Hemidesmus indicus is antagonistic to Staphylococcus epidermidis biofilm formation. Biofouling. 2020 May;36(5):579-593. PMID: 32586125.",
    "5. Sannat C, Hirpurkar SD, Shakya S, et al. Methanolic extract of Hemidesmus indicus root augments the antibacterial and antibiofilm activity of amoxicillin and clindamycin against MRSA. Lett Appl Microbiol. 2022 Dec;75(6):1586-1597. PMID: 36053759.",
    "6. Kumari S, Saini R, Bhatnagar A. HR-LCMS and evaluation of anti-diabetic activity of Hemidesmus indicus (anantmool): Kinetic study and molecular modelling. Comput Biol Chem. 2023 Aug;105:107882. PMID: 37263051.",
    "7. Systematic analysis of ethnopharmacological relevance of Hemidesmus indicus. J Appl Pharm Sci. 2024;14(01):037-044.",
    "8. Arun Kumar M, et al. Overview: Phytochemical Constituents & Pharmacological Activities of Hemidesmus indicus. World J Pharm Res. 2025;14(17):161.",
    "9. Panchal S, et al. Hemidesmus indicus: A Review. Pharmacologyonline. 2009;2:758-771.",
    "10. P.C. Dikshit. Textbook of Forensic Medicine and Toxicology. Chapter on Supportive Therapy (Hemidesmus indicus anti-inflammatory reference). Jaypee Publishers.",
    "11. Ayurvedic Pharmacopoeia of India (API), Part I, Volume I. Ministry of AYUSH, Government of India.",
    "12. Ayurvedic Formulary of India (AFI), Volumes I and II. Ministry of AYUSH, Government of India.",
    "13. Charaka Samhita (Chikitsa Sthana, Sarivadi Gana). Classical Ayurvedic text.",
    "14. Bhavaprakasha Nighantu (Guduchyadi Varga). Classical Dravyaguna reference.",
]
for r in refs:
    story.append(Paragraph(r, ref_style))
    story.append(Spacer(1, 2))

story.append(Spacer(1, 0.3*cm))
story.append(info_box(
    "<b>Disclaimer:</b> This document is compiled for academic and educational purposes only. "
    "It is not intended as medical advice. The information presented is based on published Ayurvedic "
    "classical texts and peer-reviewed pharmacological research. Clinical use of Hemidesmus indicus "
    "should be undertaken under the supervision of a qualified healthcare practitioner.",
    bg=colors.HexColor('#fef9e7'), border=colors.HexColor('#d4ac0d')
))

# ── Build ────────────────────────────────────────────────────────────────────
doc.build(story, canvasmaker=SarivaCanvas)
print(f"PDF saved: {OUTPUT}")
Running Command

cd /tmp/workspace/sariva-pdf && python generate_sariva.py 2>&1

Running Command

python3 -c " from pypdf import PdfReader r = PdfReader('/tmp/workspace/sariva-pdf/Sariva_Dravyaguna_Compilation.pdf') print(f'Pages: {len(r.pages)}') import os print(f'File size: {os.path.getsize(\"/tmp/workspace/sariva-pdf/Sariva_Dravyaguna_Compilation.pdf\")/1024:.1f} KB') for i, p in enumerate(r.pages): txt = p.extract_text()[:80].replace(chr(10),' ') print(f' Page {i+1}: {txt}') "

Your comprehensive Sariva compilation PDF is ready:

Sariva Dravyaguna Compilation

PDF Document · PDF


What's inside the PDF (14 content-rich pages, 35 KB):
SectionContent
Cover PageTitle, plant name, scope, date
Page 2 — Introduction & TaxonomyBotanical name, family, vernacular names, 2 varieties (Shweta & Krishna Sariva), pharmacopoeia history
Page 3 — Botanical DescriptionFull morphology table (stem, leaves, flowers, roots, latex), distribution, root microscopy (T.S. layers)
Page 4 — Dravyaguna Part 1Rasa, Guna, Virya, Vipaka, Prabhava table; full Karma (14 therapeutic actions) table
Page 5 — Dravyaguna Part 2Classical texts (Charaka, Sushruta, Ashtanga Hridayam, Bhavaprakasha); 10 major Ayurvedic formulations (Sarivadyasava, Khadirarishta, etc.); dose & anupana
Page 6 — PhytochemistryAll phytoconstituents by plant part; key bioactive compounds table; 2H4MB as chemotaxonomic marker
Pages 7–8 — Modern Pharmacology Part 1Antioxidant, Hepatoprotective (Hemidesmin-1/2), Anti-cancer (proteasome inhibition, PMID 31076590), Anti-diabetic (PMID 37263051), Anti-inflammatory (COX/LOX/NF-kB)
Pages 9–10 — Modern Pharmacology Part 2Antimicrobial (MRSA, Candida), Nephroprotective, Neuroprotective (AChE inhibition), Cardioprotective, Immunomodulatory, Anti-ophidian (PLA2), Anti-ulcerogenic
Page 11 — Safety & QualityToxicology (LD50 >5000 mg/kg), pharmacopoeial standards (API), contraindications, drug interactions
Pages 12–13 — Integrative PerspectiveFull correlation table (Ayurvedic karma vs. modern mechanism); commercial products; future research gaps
Page 14 — References14 cited sources including PubMed papers (PMID 32007632, 31076590, 37263051, 36053759, 32586125), AFI, API, classical texts
This is a shared conversation. Sign in to Orris to start your own chat.