Here is the complete text transcribed directly from the document for easy reference and copying: # ग्रहणी रोग **Presented by** Dr Tanya Chadha Assistant Professor Rog Nidan Evam Vikriti Vigyan Patanjali Ayurved College ## व्याधि परिचय * आचार्य चक्रपाणि के अनुसार ग्रहणी में स्थित अग्नि दोष को ही ग्रहणी दोष कहते हैं। * ग्रहणी अन्नसेवन के पश्चात् अन्न का धारण, पाचन, शोषण तथा अवशिष्ट पदार्थ का मलरूप में विसर्जन करती है। * आचार्य सुश्रुतमतानुसार पक्वाशय तथा आमाशय के मध्य में स्थित षष्ठी पित्त धरा कला ही ग्रहणी कहलाती है। * इसी ग्रहणी में होने वाली दुष्टि को ग्रहणी रोग कहते हैं। जब मन्दाग्नि द्वारा विदग्ध आहार अधोमार्ग द्वारा पक्व या अपक्व मल रूप में प्रवृत्त होता है तो उसे ग्रहणी रोग कहते हैं। इस रोग में अपक्व या पक्व अन्न विदग्ध होकर अधोगति से शरीर से बाहर निकलता है। ### निरुक्ति/व्युत्पत्ति * **'ग्रह+अनि'** में ङीष् प्रत्यय लगाने पर **'ग्रहणी'** शब्द बनता है जिसका अर्थ है ग्रहण करना। ## निदान > अभोजनादजीर्णातिभोजनाद विषमाशनात्। > असात्म्यगुरुशीतातिरुक्ष संदुष्टभोजनात् ।। > विरेकवमनस्नेह विभ्रमात् व्याधिकर्षणात्। > देशकालर्तु वैषम्याद् वेगानां च विधारणात् ।। > *(च.चि. १५)* > **आचार्य चरक ने अग्निमांघ के निम्न निदान वर्णित किये हैं-** 1. भोजन न करना 2. अजीर्ण होने पर भी अधिक मात्रा में भोजन करना। 3. विषमाशन (अधिक मात्रा या अत्यल्प मात्रा में तथा अनुचित समय में भोजन ग्रहण करना)। 4. असात्म्य भोजन ग्रहण करना 5. गुरु, शीत, अतिरुक्ष तथा दूषित अन्न का ग्रहण करना 6. वमन, विरेचन तथा स्नेहपान की व्यापत्ति होना। 7. देश, काल तथा ऋतु का विषम होना। 8. वेगविधारण 9. रोगजन्य कृशता **आचार्य सुश्रुतमतानुसार ग्रहणी रोग के निम्न प्रमुख निदान हैं-** 1. अतिसार ग्रस्त होना 2. अतिसार से निवृत्ति के पश्चात् अहित आहार-विहार का सेवन करना 3. जठराग्निमांद्य ### विशिष्ट निदान **वातिक ग्रहणी के निदान:** * कटु, तिक्त, कषाय रसयुक्त द्रव्यों का सेवन * अतिरुक्ष, अतिशीत एवं अत्यल्प भोजन सेवन * अनशन तथा अधिक मार्ग गमन * वेगावरोध * अतिमैथुन **पैत्तिक ग्रहणी के निदान:** * कटुरस अजीर्ण होने पर भी भोजन सेवन * विदाही आहार सेवन * अम्लरस, क्षार आदि पित्तवर्धक वस्तुओं का सेवन। *(जिस प्रकार गर्म जल अग्नि को नष्ट करता है उसी प्रकार उपरोक्त हेतुओं से प्रकुपित पित्त अग्नि का नाश कर देता है।)* **कफज ग्रहणी के निदान:** * गुरु, अतिस्निग्ध, शीतल आदि आहार द्रव्यों का सेवन * अत्यधिक भोजन करना * भोजन के पश्चात् शीघ्र शयन *(उपरोक्त कारणों से कुपित कफ से अग्निमांद्य की उत्पत्ति होती है जिसके कारण परिणामस्वरूप खाया हुआ आहार कष्टपूर्वक पचता है।)* **त्रिदोषज ग्रहणी के निदान:** * वातज, पित्तज एवं कफज ग्रहणी के सम्मिलित निदान ही त्रिदोषज ग्रहणी के निदान होते हैं। ## सम्प्राप्ति उपरोक्त निदानों का सेवन \downarrow अग्निमांद्य \downarrow आम दोष की उत्पत्ति \downarrow षष्ठी पित्तधरा कला में स्थान संश्रय \downarrow ग्रहणी दुष्टि \downarrow पक्व एवं अपक्व अन्न का अधोभाग से निसरण \downarrow कभी बद्ध व कभी द्रव मल की प्रवृत्ति \downarrow **ग्रहणी रोग** ### सम्प्राप्ति घटक * **दोष:** त्रिदोष * **दूष्य:** अन्न, रस * **स्रोतस:** अन्नवह, पुरीषवह * **अधिष्ठान:** पित्तधरा कला, ग्रहणी * **स्रोतोदुष्टि प्रकार:** अतिप्रवृत्ति * **स्वभाव:** दारूण * **अग्नि:** मन्दता * **साध्यासाध्यता:** कृच्छ्रसाध्य ## भेद **I. आचार्य चरक तथा सुश्रुत ने ग्रहणी रोग के निम्न चार भेदों का वर्णन किया है–** 1. वातिक ग्रहणी 2. कफज ग्रहणी 3. पैत्तिक ग्रहणी 4. त्रिदोषज ग्रहणी **II. आचार्य माधवकर ने ग्रहणी रोग के निम्न ६ भेदों का वर्णन किया है-** 1. वातिक ग्रहणी 2. पैत्तिक ग्रहणी 3. कफज ग्रहणी 4. सान्निपातिक ग्रहणी 5. संग्रह ग्रहणी 6. घटीयन्त्र ग्रहणी **III. आचार्य गणनाथ सेन के अनुसार ग्रहणी के निम्न चार भेदों का वर्णन किया गया है-** 1. राजग्रहणी 2. क्षतज ग्रहणी 3. क्षयज ग्रहणी 4. निर्मोक ग्रहणी **IV. अन्य भेद– ग्रहणी रोग को निम्न प्रकार से भी वर्गीकृत किया जा सकता है-** 1. **स्वतन्त्र ग्रहणी रोग** - बिना अतिसार उत्पत्ति के होने वाली ग्रहणी दुष्टि। 2. **परतन्त्र ग्रहणी रोग** - अतिसार के पश्चात् अपथ्य सेवन के फलस्वरूप उत्पन्न ग्रहणी रोग *आचार्य चरक ने साम ग्रहणी का भी वर्णन किया है।* ## पूर्वरूप > पूर्वरूपं तु तस्येदं तृष्णाऽऽलस्यं बलक्षयः । > विदाहोऽन्त्रस्य पाकश्च चिरात् कायस्य गौरवम् ।। > *(च.चि. १५/५५)* > **आचार्य चरक ने ग्रहणी रोग के निम्न पूर्वरूपों का वर्णन किया है-** 1. तृष्णा (Polydipsia) 2. आलस्य (Lassitude) 3. बलक्षय (Loss of strength) 4. खाये हुए अन्न का विदाह (Burning sensation in abdomen) 5. शरीर में भारीपन (Heaviness in body) 6. भोजन का चिरपाक (Delayed digestion) **आचार्य सुश्रुत:** 1. कास (Cough) 2. अरूचि (Anorexia) 3. आन्त्रकूजन (Gargling sounds in the abdomen) 4. कर्णक्ष्वेड (Tinnitus) ## लक्षण ### 1. सामान्य लक्षण > अतिसृष्टं विबद्धं वा द्रवं तदुपदिश्यते। > तृष्णारोचक वैरस्यप्रसेकतमकान्वितः ।। > शूनपादकरः सास्थिपर्वरूक् छर्दनं ज्वरः । > लौहामगन्धिस्तिक्ताम्ल उद्‌गारश्चास्य जायते ।। > *(च.चि. १५/५३-५४)* > * अतिसृष्ट, विबद्ध व द्रवमल की प्रवृत्ति होना (Passage of semisolid, liquid stools) * तृष्णा (Polydipsia) * अरोचक (Dyspepsia) * मुखवैरस्य (Bitter taste of mouth) * प्रसेक (Salivation) * तमक श्वास (Bronchial Asthma) * हस्तपाद शोथ (Oedema in extremities) * अस्थि तथा सन्धि वेदना (Bone and joint pains) * वमन (Vomiting) * ज्वर (Fever) * लौह तथा आम के समान गन्धयुक्त तिक्त अम्लोद्‌गार (Acidic eructations) ### 2. विशिष्ट लक्षण #### वातिक ग्रहणी के लक्षण آचार्य चरक ने वातिक ग्रहणी के निम्न लक्षण वर्णित किये हैं- * ग्रहण किये गये अन्न का कष्टपूर्वक पाक होना (Difficulty in digestion) * अन्न का अम्लपाक (Increased acidic secretions) * खरा‌ङ्गता (Dryness in the body parts) * मुख तथा कण्ठ में शोष (Dryness of mouth and throat) * क्षुधा एवं तृष्णा की अधिकता (Polyphagia and polydipsia) * तिमिर (Black outs) * कर्णनाद (Tinnitus) * विसूचिका (Dysentery) * मुखवैरस्य (Bitter taste of mouth) * हृदपीड़ा (Chest pain) * कार्श्य एवं दौर्बल्य (Weight loss and weakness) * गुदा में कर्तनवत् पीड़ा (Cutting pain in Anus) * सर्वरस भक्षण की इच्छा होना (Desire to eat various types of food) #### पैत्तिक ग्रहणी के लक्षण आचार्य चरक ने पैत्तिक ग्रहणी के निम्न लक्षण वर्णित किये हैं- * रोगी का पीताभ वर्ण होना (Yellowish discolouration of patient) * अजीर्ण (Indigestion) * नील वर्ण के मल का निःसरण (Expulsion of Bluish-yellowish stool) * पूति युक्त अम्लोद्गार (Acid eructations with foul smell) * हृदय तथा कण्ठ में दाह (Burning sensation in chest and throat) * अरूचि तथा तृष्णा (Anorexia and Polydipsia) #### कफज ग्रहणी के लक्षण आचार्य चरक ने श्लैष्मिक ग्रहणी के निम्न लक्षण वर्णित किये हैं- * खाये हुए आहार का कठिनता से पाचन (Difficulty in digestion of food consumed) * हल्लास तथा छर्दि (Nausea and vomiting) * अरूचि (Anorexia) * मुख के भीतर मललिप्तता (Coating inside the mouth) * मुखमाधुर्य (Sweet taste of mouth) * कास, ष्ठीवन तथा पीनस (Cough, sputum expectoration and Rhinitis) * उदर गौरव (Heaviness in the abdomen) * सदन (Letharginess) * मैथुन में अनिच्छा (Loss of Libido) * पतला, आम, गुरु तथा कफयुक्त मल का निस्सरण (Passage of Loose, mucoid, undigested, heavy stools) * पीड़ित व्यक्ति कृश नहीं होता परन्तु दुर्बलता रहती है (No cachexia, but patient is weak) #### सान्निपातिक ग्रहणी के लक्षण * तीनों दोषों के संयुक्त रूप से लक्षण सान्निपातिक ग्रहणी में प्रकट होते हैं। #### संग्रह ग्रहणी के लक्षण (Psilosis) आचार्य माधवकर ने संग्रह ग्रहणी के निम्न लक्षण वर्णित किये हैं- * आन्त्रकूजन (Gargling sounds in the abdomen) * आलस्य (Lassitude) * दौर्बल्य (Weakness) * सदन (Looseness of body) * कटिवेदना (Backache) * द्रव, शीत, घन तथा स्निग्ध आमयुक्त अत्यधिक मल का त्याग (Frequent evacuation of cold, thick, mucoid stool) * पिच्छिलता युक्त मल का सशब्द त्याग (Evacuation of filamentous stool with sound) * आक्रमण काल एक मास, १५ दिन, १० दिन या प्रतिदिन भी हो सकता है (Episodes occur after an interval of one month, or 15 days or 10 days or it may occur daily) * दिवाप्रकोप तथा रात्रि में शमन (Aggravation of symptoms during day time and remissions during night hours) * दुश्चिकित्स्य तथा चिरकालीन व्याधि (Difficult to treat and chronic disease) *(संग्रह ग्रहणी त्रिदोषज ग्रहणी का ही एक परिवर्धित रूप है। परिणामतः यह असाध्य या कष्टसाध्य होती है।)* #### घटीयन्त्र ग्रहणी (Intestinal T.B. or Chronic Colitis) * करवट बदलते समय तथा मलत्याग के समय जलपूर्ण मशक के समान उदर में शब्द होना इसका मुख्य लक्षण है तथा यह असाध्यता का भी निदर्शक है। * इसे कुछ विद्वान अनुलोम क्षय भी कहते हैं। * प्रायः यह व्याधि असाध्य होती है। * यह शस्त्र कर्म से कृच्छ्रसाध्य होती है। **इसके लक्षण निम्न प्रकार प्रकट होते हैं-** 1. लेटते समय पार्श्वशूल होना (Pain in loins while lying down) 2. अत्यधिक दुर्बलता होना (Excessive weakness) 3. मलत्याग समय जल में डूबते हुए घड़े के समान ध्वनि का उत्पन्न होना (Defaecation with specific sound) #### राज ग्रहणी के लक्षण (Sprue) सम्पन्न वर्ग के लोगों में यह व्याधि अधिक होती है अतः इसे राज ग्रहणी कहा जाता है। **आचार्य गणनाथसेन ने इसके निम्नलिखित लक्षणों का वर्णन किया है-** 1. अपक्व तथा स्निग्ध मल की प्रवृत्ति (Steatorrhoea) 2. सान्द्र, पीत एवं श्वेत मल की प्रवृत्ति (Passage of thick, yellowish-whitish stool) 3. सक्षत एवं श्लक्ष्ण जिह्वा का होना (Ulcered and rough tongue) 4. रोगी का शरीर पाण्डु वर्ण का होना (Whitish yellowish colour of the patient) 5. रक्ताल्पता (Anaemia) *आचार्य गणनाथसेन ने सिद्धान्त निदान में इसके पथ्य तथा अपथ्य का भी वर्णन किया है:* * **पथ्य:** फल, दुग्ध, तक्र, मांस इत्यादि। * **अपथ्य:** यव, तण्डुल, मुद्ग, मसूर इत्यादि धान्य। #### क्षतज ग्रहणी के लक्षण (Chronic Dysentery Diarrhoea) प्रवाहिका के शान्त होने पर ग्रहणी के क्षत हो जाने के फलस्वरूप यह व्याधि उत्पन्न होती है। **इसके लक्षण निम्न प्रकार प्रकट होते हैं-** 1. आमयुक्त तथा रक्तमिश्रित द्रव मल की प्रवृत्ति (Mucoid liquid stool mixed with blood) 2. बार-बार मल की प्रवृत्ति (Frequent passing stools) *(इसके लक्षण संग्रह ग्रहणी के समान होते हैं।)* #### क्षयज ग्रहणी के लक्षण (Tubercular Diarrhoea) उदर में आन्त्र श्लेष्मकलाओं तथा सूक्ष्म कोशिकाओं में क्षय रोग के जीवाणुओं की उपस्थिति तथा चिरकाल तक अतिसार व्याधि के होने के कारण ग्रहणी में विकृति हो जाती है इसे क्षयज ग्रहणी कहते हैं। **इसके लक्षण निम्न प्रकार प्रकट हो सकते हैं-** 1. पिच्छिल तथा रक्त मिश्रित मल की प्रवृत्ति (Mucoid and blood mixed stool) 2. विभेद भी प्रायः पाया जाता है (Diarrhoea) #### निर्मोक ग्रहणी के लक्षण (Membranous Diarrhoea) इस व्याधि में सर्प की केंचुली के समान आंत की झिल्ली (Mucous membrane) के साथ शूलयुक्त पिच्छिल रक्तमिश्रित मल की प्रवृत्ति होती है। *यह व्याधि वातप्रकृति वाली तथा योषापस्मार व्याधि से पीड़ित स्त्रियों के बच्चों में अधिक पायी जाती है।* **इसके लक्षण निम्न प्रकार प्रकट हो सकते हैं-** 1. शूलयुक्त मल की प्रवृत्ति (Painful defaecation) 2. पिच्छिल तथा आम मल की प्रवृत्ति (Sticky and mucoid stool) 3. रक्तमिश्रित मल तथा अतिसार (Melena and Diarrhoea) 4. कभी-कभी विबन्ध (Constipation) *(यह चिरकालानुबन्धी तथा कृच्छ्रसाध्य रोग है।)* #### आमज ग्रहणी या साम ग्रहणी के लक्षण * आचार्य चरक ने ग्रहणी नामक व्याधि के चार भेदों (वातिक, पैत्तिक, कफज तथा त्रिदोषज) के अतिरिक्त साम ग्रहणी का भी वर्णन किया है। * विदग्ध या अर्धपक्व आहार से मूच्छित कुपित वातादि दोष ग्रहणी में आश्रित होकर जब ग्रहणी रोग उत्पन्न करते हैं, तब उसे साम ग्रहणी कहते हैं। 1. विष्टम्भ (Constipation) 2. प्रसेक (Excessive salivation) 3. उदर में वेदना तथा दाह (Pain and burning sensation in the abdomen) 4. अरुचि (Anorexia) 5. शरीर में भारीपन (Heaviness in the body) ## साध्यासाध्यता **आचार्य माधवकर ने ग्रहणी रोग की साध्यासाध्यता निम्न प्रकार से वर्णित की है-** 1. **वय भेद से:** बालक में ग्रहणी दुष्टि साध्य, युवा व्यक्ति में कृच्छ्रसाध्य तथा वृद्ध में असाध्य होती है। (वय भेद से ग्रहणी दुष्टि की साध्यासाध्यता का वर्णन सिद्धान्त निदान में आचार्य गणनाथसेन ने भी किया है।) 2. **दोष भेद से:** एक दोषज (वातिक, पैत्तिक, कफज) ग्रहणी साध्य हैं। सान्निपातिक ग्रहणी कृच्छ्रसाध्य है। 3. **प्रकार भेद से:** संग्रह ग्रहणी दुश्चिकित्स्य तथा घटीयन्त्र ग्रहणी असाध्य होती है। 4. जिन लक्षणों से युक्त अतिसार व्याधि को असाध्य माना जाता है उन्हीं लक्षणों के उपस्थित होने पर ग्रहणी व्याधि भी असाध्य मानी जाती है। ## ग्रहणी के उपद्रव 1. ज्वर (Fever) 2. शोथ (Oedema) 3. शूल (Pain) 4. हिक्का (Hiccough) 5. वमन (Vomiting) 6. आध्मान (Flatulence) 7. प्रलाप (Delirium) 8. श्वास (Dyspnea) 9. पाण्डु (Anaemia) Make a pdf for me using all this

Reading File
Running Command

ls /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace/grahani-pdf && echo "ready"

Running Command

python3 -c " # Check available fonts for Devanagari import subprocess result = subprocess.run(['fc-list', ':lang=hi'], capture_output=True, text=True) print(result.stdout[:2000]) "

Writing File

~/grahani-pdf/create_pdf.py


from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.lib import colors
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, ListFlowable, ListItem, KeepTogether
)
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY

# Register Devanagari font
DEVA_FONT = "/usr/share/fonts/google-droid-sans-fonts/DroidSansDevanagari-Regular.ttf"
pdfmetrics.registerFont(TTFont("Devanagari", DEVA_FONT))

# Also register a fallback Latin font for mixed text
from reportlab.pdfbase.ttfonts import TTFont
import os

# Page setup
OUTPUT = "/tmp/workspace/grahani-pdf/Grahani_Rog.pdf"
doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    leftMargin=2*cm,
    rightMargin=2*cm,
    topMargin=2*cm,
    bottomMargin=2*cm,
    title="ग्रहणी रोग",
    author="Dr Tanya Chadha",
)

W, H = A4
DEVA = "Devanagari"

# ---------- Style definitions ----------
def style(name, font=DEVA, size=11, leading=18, spBefore=4, spAfter=4,
          align=TA_LEFT, color=colors.black, bold=False, italic=False):
    return ParagraphStyle(
        name,
        fontName=font,
        fontSize=size,
        leading=leading,
        spaceBefore=spBefore,
        spaceAfter=spAfter,
        alignment=align,
        textColor=color,
    )

TITLE_STYLE   = style("Title",   size=22, leading=28, spBefore=6, spAfter=4, align=TA_CENTER, color=colors.HexColor("#1a3a5c"))
SUBTITLE_STYLE= style("Subtitle",size=13, leading=18, spBefore=2, spAfter=2, align=TA_CENTER, color=colors.HexColor("#2e5c8a"))
H1_STYLE      = style("H1",      size=16, leading=22, spBefore=12, spAfter=4, color=colors.HexColor("#1a3a5c"))
H2_STYLE      = style("H2",      size=13, leading=18, spBefore=10, spAfter=3, color=colors.HexColor("#2e5c8a"))
H3_STYLE      = style("H3",      size=12, leading=17, spBefore=8,  spAfter=2, color=colors.HexColor("#3a7abf"))
BODY_STYLE    = style("Body",    size=11, leading=18, spBefore=2,  spAfter=2)
BODY_INDENT   = style("BodyInd", size=11, leading=18, spBefore=2,  spAfter=2)
BODY_INDENT.leftIndent = 18
QUOTE_STYLE   = style("Quote",   size=10, leading=16, spBefore=4,  spAfter=4, color=colors.HexColor("#444444"))
QUOTE_STYLE.leftIndent = 24
QUOTE_STYLE.rightIndent = 24
NOTE_STYLE    = style("Note",    size=10, leading=15, spBefore=2,  spAfter=2, color=colors.HexColor("#555555"))
NOTE_STYLE.leftIndent = 18
BULLET_STYLE  = style("Bullet",  size=11, leading=18, spBefore=1,  spAfter=1)
BULLET_STYLE.leftIndent = 18
BULLET_STYLE.bulletIndent = 6

# ---------- Helper: section box (colored background table) ----------
def section_box(para, bg=colors.HexColor("#e8f0f7"), border=colors.HexColor("#2e5c8a")):
    tbl = Table([[para]], colWidths=[doc.width])
    tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), bg),
        ("BOX",        (0,0), (-1,-1), 1.2, border),
        ("TOPPADDING",    (0,0),(-1,-1), 6),
        ("BOTTOMPADDING", (0,0),(-1,-1), 6),
        ("LEFTPADDING",   (0,0),(-1,-1), 10),
        ("RIGHTPADDING",  (0,0),(-1,-1), 10),
    ]))
    return tbl

def quote_box(lines):
    """Render a shlokas/verse box"""
    joined = "<br/>".join(lines)
    p = Paragraph(joined, QUOTE_STYLE)
    tbl = Table([[p]], colWidths=[doc.width])
    tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0),(-1,-1), colors.HexColor("#f5f0e8")),
        ("BOX",        (0,0),(-1,-1), 1, colors.HexColor("#a07840")),
        ("LEFTPADDING", (0,0),(-1,-1), 12),
        ("RIGHTPADDING",(0,0),(-1,-1), 12),
        ("TOPPADDING",  (0,0),(-1,-1), 8),
        ("BOTTOMPADDING",(0,0),(-1,-1), 8),
    ]))
    return tbl

def hr(color=colors.HexColor("#2e5c8a"), thickness=1.0):
    return HRFlowable(width="100%", thickness=thickness, color=color, spaceAfter=4, spaceBefore=4)

def bullet_list(items, indent=18):
    entries = []
    for item in items:
        p = Paragraph(item, BULLET_STYLE)
        entries.append(ListItem(p, bulletColor=colors.HexColor("#2e5c8a"), bulletType="bullet",
                                leftIndent=indent, bulletFontSize=8))
    return ListFlowable(entries, bulletType="bullet")

def numbered_list(items, start=1):
    entries = []
    for item in items:
        p = Paragraph(item, BULLET_STYLE)
        entries.append(ListItem(p, value=start, bulletColor=colors.HexColor("#1a3a5c"),
                                leftIndent=24))
        start += 1
    return ListFlowable(entries, bulletType="1")

# =====================================================================
# Build content
# =====================================================================
story = []

# ---- Title block ----
story.append(Spacer(1, 0.3*cm))
title_p = Paragraph("ग्रहणी रोग", TITLE_STYLE)
story.append(section_box(title_p, bg=colors.HexColor("#1a3a5c"), border=colors.HexColor("#1a3a5c")))
# Override text color for dark bg
title_p2 = Paragraph("<font color='white'>ग्रहणी रोग</font>", TITLE_STYLE)
# Redo with white text on dark bg
TITLE_WHITE = ParagraphStyle("TitleW", fontName=DEVA, fontSize=22, leading=28,
                               spaceBefore=6, spaceAfter=4, alignment=TA_CENTER,
                               textColor=colors.white)
title_tbl = Table([[Paragraph("<font color='white'>ग्रहणी रोग</font>", TITLE_WHITE)]], colWidths=[doc.width])
title_tbl.setStyle(TableStyle([
    ("BACKGROUND",(0,0),(-1,-1),colors.HexColor("#1a3a5c")),
    ("TOPPADDING",(0,0),(-1,-1),12),("BOTTOMPADDING",(0,0),(-1,-1),12),
    ("LEFTPADDING",(0,0),(-1,-1),10),("RIGHTPADDING",(0,0),(-1,-1),10),
]))
story[-1] = title_tbl  # replace previous

story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("Presented by", SUBTITLE_STYLE))
story.append(Paragraph("Dr. Tanya Chadha", SUBTITLE_STYLE))
story.append(Paragraph("Assistant Professor", SUBTITLE_STYLE))
story.append(Paragraph("Rog Nidan Evam Vikriti Vigyan", SUBTITLE_STYLE))
story.append(Paragraph("Patanjali Ayurved College", SUBTITLE_STYLE))
story.append(hr(thickness=2.0, color=colors.HexColor("#1a3a5c")))

# =====================================================================
# Section 1: व्याधि परिचय
# =====================================================================
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("व्याधि परिचय", H1_STYLE))
story.append(hr())
story.append(bullet_list([
    "आचार्य चक्रपाणि के अनुसार ग्रहणी में स्थित अग्नि दोष को ही ग्रहणी दोष कहते हैं।",
    "ग्रहणी अन्नसेवन के पश्चात् अन्न का धारण, पाचन, शोषण तथा अवशिष्ट पदार्थ का मलरूप में विसर्जन करती है।",
    "आचार्य सुश्रुतमतानुसार पक्वाशय तथा आमाशय के मध्य में स्थित षष्ठी पित्त धरा कला ही ग्रहणी कहलाती है।",
    "इसी ग्रहणी में होने वाली दुष्टि को ग्रहणी रोग कहते हैं। जब मन्दाग्नि द्वारा विदग्ध आहार अधोमार्ग द्वारा पक्व या अपक्व मल रूप में प्रवृत्त होता है तो उसे ग्रहणी रोग कहते हैं।",
]))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("निरुक्ति / व्युत्पत्ति", H2_STYLE))
story.append(Paragraph(
    "'ग्रह+अनि' में ङीष् प्रत्यय लगाने पर 'ग्रहणी' शब्द बनता है जिसका अर्थ है – ग्रहण करना।",
    BODY_INDENT))

# =====================================================================
# Section 2: निदान
# =====================================================================
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("निदान", H1_STYLE))
story.append(hr())

shloka1 = [
    "अभोजनादजीर्णातिभोजनाद विषमाशनात्।",
    "असात्म्यगुरुशीतातिरुक्ष संदुष्टभोजनात् ।।",
    "विरेकवमनस्नेह विभ्रमात् व्याधिकर्षणात्।",
    "देशकालर्तु वैषम्याद् वेगानां च विधारणात् ।।",
    "                                                           (च.चि. १५)",
]
story.append(quote_box(shloka1))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("आचार्य चरक के अनुसार अग्निमांद्य के निदान:", H2_STYLE))
story.append(numbered_list([
    "भोजन न करना",
    "अजीर्ण होने पर भी अधिक मात्रा में भोजन करना",
    "विषमाशन (अधिक मात्रा या अत्यल्प मात्रा में तथा अनुचित समय में भोजन ग्रहण करना)",
    "असात्म्य भोजन ग्रहण करना",
    "गुरु, शीत, अतिरुक्ष तथा दूषित अन्न का ग्रहण करना",
    "वमन, विरेचन तथा स्नेहपान की व्यापत्ति होना",
    "देश, काल तथा ऋतु का विषम होना",
    "वेगविधारण",
    "रोगजन्य कृशता",
]))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("आचार्य सुश्रुत के अनुसार ग्रहणी रोग के निदान:", H2_STYLE))
story.append(numbered_list([
    "अतिसार ग्रस्त होना",
    "अतिसार से निवृत्ति के पश्चात् अहित आहार-विहार का सेवन करना",
    "जठराग्निमांद्य",
]))

story.append(Paragraph("विशिष्ट निदान", H2_STYLE))

# Sub-sections for each dosha
def dosha_heading(text, color_hex="#2e5c8a"):
    s = ParagraphStyle("DoshaH", fontName=DEVA, fontSize=12, leading=17,
                        spaceBefore=6, spaceAfter=2, textColor=colors.HexColor(color_hex))
    return Paragraph(text, s)

story.append(dosha_heading("वातिक ग्रहणी के निदान:"))
story.append(bullet_list([
    "कटु, तिक्त, कषाय रसयुक्त द्रव्यों का सेवन",
    "अतिरुक्ष, अतिशीत एवं अत्यल्प भोजन सेवन",
    "अनशन तथा अधिक मार्ग गमन",
    "वेगावरोध",
    "अतिमैथुन",
]))

story.append(dosha_heading("पैत्तिक ग्रहणी के निदान:"))
story.append(bullet_list([
    "कटुरस – अजीर्ण होने पर भी भोजन सेवन",
    "विदाही आहार सेवन",
    "अम्लरस, क्षार आदि पित्तवर्धक वस्तुओं का सेवन",
]))
story.append(Paragraph(
    "(जिस प्रकार गर्म जल अग्नि को नष्ट करता है उसी प्रकार उपरोक्त हेतुओं से प्रकुपित पित्त अग्नि का नाश कर देता है।)",
    NOTE_STYLE))

story.append(dosha_heading("कफज ग्रहणी के निदान:"))
story.append(bullet_list([
    "गुरु, अतिस्निग्ध, शीतल आदि आहार द्रव्यों का सेवन",
    "अत्यधिक भोजन करना",
    "भोजन के पश्चात् शीघ्र शयन",
]))
story.append(Paragraph(
    "(उपरोक्त कारणों से कुपित कफ से अग्निमांद्य की उत्पत्ति होती है जिसके कारण परिणामस्वरूप खाया हुआ आहार कष्टपूर्वक पचता है।)",
    NOTE_STYLE))

story.append(dosha_heading("त्रिदोषज ग्रहणी के निदान:"))
story.append(Paragraph(
    "वातज, पित्तज एवं कफज ग्रहणी के सम्मिलित निदान ही त्रिदोषज ग्रहणी के निदान होते हैं।",
    BODY_INDENT))

# =====================================================================
# Section 3: सम्प्राप्ति
# =====================================================================
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("सम्प्राप्ति", H1_STYLE))
story.append(hr())

# Samprapti flowchart as a table
sampr_steps = [
    "उपरोक्त निदानों का सेवन",
    "अग्निमांद्य",
    "आम दोष की उत्पत्ति",
    "षष्ठी पित्तधरा कला में स्थान संश्रय",
    "ग्रहणी दुष्टि",
    "पक्व एवं अपक्व अन्न का अधोभाग से निसरण",
    "कभी बद्ध व कभी द्रव मल की प्रवृत्ति",
    "ग्रहणी रोग",
]

ARROW_STYLE = ParagraphStyle("Arrow", fontName="Helvetica", fontSize=14, leading=16,
                              spaceBefore=0, spaceAfter=0, alignment=TA_CENTER, textColor=colors.HexColor("#2e5c8a"))
FC_STYLE = ParagraphStyle("FC", fontName=DEVA, fontSize=11, leading=16,
                            spaceBefore=0, spaceAfter=0, alignment=TA_CENTER, textColor=colors.black)
FC_LAST = ParagraphStyle("FCL", fontName=DEVA, fontSize=12, leading=18,
                           spaceBefore=0, spaceAfter=0, alignment=TA_CENTER,
                           textColor=colors.white)

fc_data = []
for i, step in enumerate(sampr_steps):
    if i == len(sampr_steps)-1:
        cell = Table([[Paragraph(step, FC_LAST)]], colWidths=[10*cm])
        cell.setStyle(TableStyle([("BACKGROUND",(0,0),(-1,-1),colors.HexColor("#1a3a5c")),
                                   ("BOX",(0,0),(-1,-1),1.5,colors.HexColor("#1a3a5c")),
                                   ("TOPPADDING",(0,0),(-1,-1),8),("BOTTOMPADDING",(0,0),(-1,-1),8)]))
    else:
        cell = Table([[Paragraph(step, FC_STYLE)]], colWidths=[10*cm])
        cell.setStyle(TableStyle([("BACKGROUND",(0,0),(-1,-1),colors.HexColor("#e8f0f7")),
                                   ("BOX",(0,0),(-1,-1),1,colors.HexColor("#2e5c8a")),
                                   ("TOPPADDING",(0,0),(-1,-1),6),("BOTTOMPADDING",(0,0),(-1,-1),6)]))
    fc_data.append([cell])
    if i < len(sampr_steps)-1:
        fc_data.append([Paragraph("↓", ARROW_STYLE)])

fc_tbl = Table(fc_data, colWidths=[10*cm])
fc_tbl.setStyle(TableStyle([("ALIGN",(0,0),(-1,-1),"CENTER"),
                              ("VALIGN",(0,0),(-1,-1),"MIDDLE"),
                              ("TOPPADDING",(0,0),(-1,-1),2),
                              ("BOTTOMPADDING",(0,0),(-1,-1),2)]))
story.append(Table([[fc_tbl]], colWidths=[doc.width], style=[
    ("ALIGN",(0,0),(-1,-1),"CENTER"), ("VALIGN",(0,0),(-1,-1),"MIDDLE")]))

story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("सम्प्राप्ति घटक", H2_STYLE))

ghtak = [
    ("दोष",              "त्रिदोष"),
    ("दूष्य",             "अन्न, रस"),
    ("स्रोतस",            "अन्नवह, पुरीषवह"),
    ("अधिष्ठान",          "पित्तधरा कला, ग्रहणी"),
    ("स्रोतोदुष्टि प्रकार", "अतिप्रवृत्ति"),
    ("स्वभाव",            "दारूण"),
    ("अग्नि",             "मन्दता"),
    ("साध्यासाध्यता",      "कृच्छ्रसाध्य"),
]
CELL_STYLE = ParagraphStyle("Cell", fontName=DEVA, fontSize=11, leading=16,
                              spaceBefore=0, spaceAfter=0, textColor=colors.black)
CELL_HDR   = ParagraphStyle("CellH", fontName=DEVA, fontSize=11, leading=16,
                              spaceBefore=0, spaceAfter=0, textColor=colors.HexColor("#1a3a5c"))
tbl_data = [[Paragraph("घटक", CELL_HDR), Paragraph("विवरण", CELL_HDR)]]
for k, v in ghtak:
    tbl_data.append([Paragraph(k, CELL_STYLE), Paragraph(v, CELL_STYLE)])

g_tbl = Table(tbl_data, colWidths=[6*cm, 9*cm])
g_tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0),(-1,0), colors.HexColor("#1a3a5c")),
    ("TEXTCOLOR",  (0,0),(-1,0), colors.white),
    ("ROWBACKGROUNDS",(0,1),(-1,-1),[colors.HexColor("#f0f5fa"), colors.white]),
    ("BOX",        (0,0),(-1,-1), 1, colors.HexColor("#2e5c8a")),
    ("INNERGRID",  (0,0),(-1,-1), 0.5, colors.HexColor("#aac0d8")),
    ("TOPPADDING", (0,0),(-1,-1), 6), ("BOTTOMPADDING",(0,0),(-1,-1),6),
    ("LEFTPADDING",(0,0),(-1,-1), 8), ("RIGHTPADDING", (0,0),(-1,-1),8),
    ("FONTNAME",   (0,0),(-1,0),  DEVA),
    ("FONTNAME",   (0,1),(-1,-1), DEVA),
]))
story.append(g_tbl)

# =====================================================================
# Section 4: भेद
# =====================================================================
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("भेद", H1_STYLE))
story.append(hr())

story.append(Paragraph("I. आचार्य चरक एवं सुश्रुत के अनुसार (चार भेद):", H2_STYLE))
story.append(numbered_list(["वातिक ग्रहणी","कफज ग्रहणी","पैत्तिक ग्रहणी","त्रिदोषज ग्रहणी"]))

story.append(Paragraph("II. आचार्य माधवकर के अनुसार (छह भेद):", H2_STYLE))
story.append(numbered_list(["वातिक ग्रहणी","पैत्तिक ग्रहणी","कफज ग्रहणी",
                              "सान्निपातिक ग्रहणी","संग्रह ग्रहणी","घटीयन्त्र ग्रहणी"]))

story.append(Paragraph("III. आचार्य गणनाथ सेन के अनुसार (चार भेद):", H2_STYLE))
story.append(numbered_list(["राजग्रहणी","क्षतज ग्रहणी","क्षयज ग्रहणी","निर्मोक ग्रहणी"]))

story.append(Paragraph("IV. अन्य भेद:", H2_STYLE))
story.append(numbered_list([
    "स्वतन्त्र ग्रहणी रोग – बिना अतिसार उत्पत्ति के होने वाली ग्रहणी दुष्टि।",
    "परतन्त्र ग्रहणी रोग – अतिसार के पश्चात् अपथ्य सेवन के फलस्वरूप उत्पन्न ग्रहणी रोग।",
]))
story.append(Paragraph("(आचार्य चरक ने साम ग्रहणी का भी वर्णन किया है।)", NOTE_STYLE))

# =====================================================================
# Section 5: पूर्वरूप
# =====================================================================
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("पूर्वरूप", H1_STYLE))
story.append(hr())

shloka2 = [
    "पूर्वरूपं तु तस्येदं तृष्णाऽऽलस्यं बलक्षयः ।",
    "विदाहोऽन्त्रस्य पाकश्च चिरात् कायस्य गौरवम् ।।",
    "                                            (च.चि. १५/५५)",
]
story.append(quote_box(shloka2))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("आचार्य चरक के अनुसार पूर्वरूप:", H2_STYLE))
story.append(numbered_list([
    "तृष्णा (Polydipsia)",
    "आलस्य (Lassitude)",
    "बलक्षय (Loss of strength)",
    "खाये हुए अन्न का विदाह (Burning sensation in abdomen)",
    "शरीर में भारीपन (Heaviness in body)",
    "भोजन का चिरपाक (Delayed digestion)",
]))

story.append(Paragraph("आचार्य सुश्रुत के अनुसार पूर्वरूप:", H2_STYLE))
story.append(numbered_list([
    "कास (Cough)",
    "अरूचि (Anorexia)",
    "आन्त्रकूजन (Gargling sounds in the abdomen)",
    "कर्णक्ष्वेड (Tinnitus)",
]))

# =====================================================================
# Section 6: लक्षण
# =====================================================================
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("लक्षण", H1_STYLE))
story.append(hr())

story.append(Paragraph("सामान्य लक्षण", H2_STYLE))
shloka3 = [
    "अतिसृष्टं विबद्धं वा द्रवं तदुपदिश्यते।",
    "तृष्णारोचक वैरस्यप्रसेकतमकान्वितः ।।",
    "शूनपादकरः सास्थिपर्वरूक् छर्दनं ज्वरः ।",
    "लौहामगन्धिस्तिक्ताम्ल उद्गारश्चास्य जायते ।।",
    "                                            (च.चि. १५/५३-५४)",
]
story.append(quote_box(shloka3))
story.append(Spacer(1, 0.2*cm))

story.append(bullet_list([
    "अतिसृष्ट, विबद्ध व द्रवमल की प्रवृत्ति होना (Passage of semisolid, liquid stools)",
    "तृष्णा (Polydipsia)",
    "अरोचक (Dyspepsia)",
    "मुखवैरस्य (Bitter taste of mouth)",
    "प्रसेक (Salivation)",
    "तमक श्वास (Bronchial Asthma)",
    "हस्तपाद शोथ (Oedema in extremities)",
    "अस्थि तथा सन्धि वेदना (Bone and joint pains)",
    "वमन (Vomiting)",
    "ज्वर (Fever)",
    "लौह तथा आम के समान गन्धयुक्त तिक्त अम्लोद्गार (Acidic eructations)",
]))

story.append(Paragraph("विशिष्ट लक्षण", H2_STYLE))

# Vatika
story.append(dosha_heading("वातिक ग्रहणी के लक्षण:"))
story.append(numbered_list([
    "ग्रहण किये गये अन्न का कष्टपूर्वक पाक होना (Difficulty in digestion)",
    "अन्न का अम्लपाक (Increased acidic secretions)",
    "खराङ्गता (Dryness in the body parts)",
    "मुख तथा कण्ठ में शोष (Dryness of mouth and throat)",
    "क्षुधा एवं तृष्णा की अधिकता (Polyphagia and polydipsia)",
    "तिमिर (Black outs)",
    "कर्णनाद (Tinnitus)",
    "विसूचिका (Dysentery)",
    "मुखवैरस्य (Bitter taste of mouth)",
    "हृदपीड़ा (Chest pain)",
    "कार्श्य एवं दौर्बल्य (Weight loss and weakness)",
    "गुदा में कर्तनवत् पीड़ा (Cutting pain in Anus)",
    "सर्वरस भक्षण की इच्छा होना (Desire to eat various types of food)",
]))

# Paittika
story.append(dosha_heading("पैत्तिक ग्रहणी के लक्षण:"))
story.append(numbered_list([
    "रोगी का पीताभ वर्ण होना (Yellowish discolouration of patient)",
    "अजीर्ण (Indigestion)",
    "नील वर्ण के मल का निःसरण (Expulsion of Bluish-yellowish stool)",
    "पूति युक्त अम्लोद्गार (Acid eructations with foul smell)",
    "हृदय तथा कण्ठ में दाह (Burning sensation in chest and throat)",
    "अरूचि तथा तृष्णा (Anorexia and Polydipsia)",
]))

# Kaphaja
story.append(dosha_heading("कफज ग्रहणी के लक्षण:"))
story.append(numbered_list([
    "खाये हुए आहार का कठिनता से पाचन (Difficulty in digestion of food consumed)",
    "हल्लास तथा छर्दि (Nausea and vomiting)",
    "अरूचि (Anorexia)",
    "मुख के भीतर मललिप्तता (Coating inside the mouth)",
    "मुखमाधुर्य (Sweet taste of mouth)",
    "कास, ष्ठीवन तथा पीनस (Cough, sputum expectoration and Rhinitis)",
    "उदर गौरव (Heaviness in the abdomen)",
    "सदन (Letharginess)",
    "मैथुन में अनिच्छा (Loss of Libido)",
    "पतला, आम, गुरु तथा कफयुक्त मल का निस्सरण (Passage of Loose, mucoid, undigested, heavy stools)",
    "पीड़ित व्यक्ति कृश नहीं होता परन्तु दुर्बलता रहती है (No cachexia, but patient is weak)",
]))

# Sannipatika
story.append(dosha_heading("सान्निपातिक ग्रहणी के लक्षण:"))
story.append(Paragraph("तीनों दोषों के संयुक्त रूप से लक्षण सान्निपातिक ग्रहणी में प्रकट होते हैं।", BODY_INDENT))

# Sangraha
story.append(dosha_heading("संग्रह ग्रहणी के लक्षण (Psilosis):"))
story.append(numbered_list([
    "आन्त्रकूजन (Gargling sounds in the abdomen)",
    "आलस्य (Lassitude)",
    "दौर्बल्य (Weakness)",
    "सदन (Looseness of body)",
    "कटिवेदना (Backache)",
    "द्रव, शीत, घन तथा स्निग्ध आमयुक्त अत्यधिक मल का त्याग (Frequent evacuation of cold, thick, mucoid stool)",
    "पिच्छिलता युक्त मल का सशब्द त्याग (Evacuation of filamentous stool with sound)",
    "आक्रमण काल: एक मास, १५ दिन, १० दिन या प्रतिदिन भी हो सकता है",
    "दिवाप्रकोप तथा रात्रि में शमन (Aggravation during daytime, remission at night)",
    "दुश्चिकित्स्य तथा चिरकालीन व्याधि (Difficult to treat and chronic disease)",
]))
story.append(Paragraph("(संग्रह ग्रहणी त्रिदोषज ग्रहणी का ही एक परिवर्धित रूप है। परिणामतः यह असाध्य या कष्टसाध्य होती है।)", NOTE_STYLE))

# Ghatiyantra
story.append(dosha_heading("घटीयन्त्र ग्रहणी (Intestinal T.B. or Chronic Colitis):"))
story.append(bullet_list([
    "करवट बदलते समय तथा मलत्याग के समय जलपूर्ण मशक के समान उदर में शब्द होना – यह मुख्य लक्षण है।",
    "इसे कुछ विद्वान अनुलोम क्षय भी कहते हैं।",
    "प्रायः यह व्याधि असाध्य होती है।",
    "यह शस्त्र कर्म से कृच्छ्रसाध्य होती है।",
]))
story.append(numbered_list([
    "लेटते समय पार्श्वशूल होना (Pain in loins while lying down)",
    "अत्यधिक दुर्बलता होना (Excessive weakness)",
    "मलत्याग समय जल में डूबते हुए घड़े के समान ध्वनि का उत्पन्न होना (Defaecation with specific sound)",
]))

# Raja
story.append(dosha_heading("राज ग्रहणी के लक्षण (Sprue):"))
story.append(Paragraph("सम्पन्न वर्ग के लोगों में यह व्याधि अधिक होती है अतः इसे राज ग्रहणी कहा जाता है।", BODY_INDENT))
story.append(numbered_list([
    "अपक्व तथा स्निग्ध मल की प्रवृत्ति (Steatorrhoea)",
    "सान्द्र, पीत एवं श्वेत मल की प्रवृत्ति (Passage of thick, yellowish-whitish stool)",
    "सक्षत एवं श्लक्ष्ण जिह्वा का होना (Ulcered and rough tongue)",
    "रोगी का शरीर पाण्डु वर्ण का होना (Whitish yellowish colour of the patient)",
    "रक्ताल्पता (Anaemia)",
]))
story.append(Paragraph("पथ्य: फल, दुग्ध, तक्र, मांस इत्यादि।", NOTE_STYLE))
story.append(Paragraph("अपथ्य: यव, तण्डुल, मुद्ग, मसूर इत्यादि धान्य।", NOTE_STYLE))

# Kshhataja
story.append(dosha_heading("क्षतज ग्रहणी के लक्षण (Chronic Dysentery Diarrhoea):"))
story.append(Paragraph("प्रवाहिका के शान्त होने पर ग्रहणी के क्षत हो जाने के फलस्वरूप यह व्याधि उत्पन्न होती है।", BODY_INDENT))
story.append(numbered_list([
    "आमयुक्त तथा रक्तमिश्रित द्रव मल की प्रवृत्ति (Mucoid liquid stool mixed with blood)",
    "बार-बार मल की प्रवृत्ति (Frequent passing stools)",
]))
story.append(Paragraph("(इसके लक्षण संग्रह ग्रहणी के समान होते हैं।)", NOTE_STYLE))

# Kshayaja
story.append(dosha_heading("क्षयज ग्रहणी के लक्षण (Tubercular Diarrhoea):"))
story.append(Paragraph(
    "उदर में आन्त्र श्लेष्मकलाओं तथा सूक्ष्म कोशिकाओं में क्षय रोग के जीवाणुओं की उपस्थिति तथा चिरकाल तक अतिसार व्याधि के होने के कारण ग्रहणी में विकृति हो जाती है इसे क्षयज ग्रहणी कहते हैं।",
    BODY_INDENT))
story.append(numbered_list([
    "पिच्छिल तथा रक्त मिश्रित मल की प्रवृत्ति (Mucoid and blood mixed stool)",
    "विभेद भी प्रायः पाया जाता है (Diarrhoea)",
]))

# Nirmoka
story.append(dosha_heading("निर्मोक ग्रहणी के लक्षण (Membranous Diarrhoea):"))
story.append(Paragraph(
    "इस व्याधि में सर्प की केंचुली के समान आंत की झिल्ली (Mucous membrane) के साथ शूलयुक्त पिच्छिल रक्तमिश्रित मल की प्रवृत्ति होती है।",
    BODY_INDENT))
story.append(Paragraph(
    "यह व्याधि वातप्रकृति वाली तथा योषापस्मार व्याधि से पीड़ित स्त्रियों के बच्चों में अधिक पायी जाती है।",
    NOTE_STYLE))
story.append(numbered_list([
    "शूलयुक्त मल की प्रवृत्ति (Painful defaecation)",
    "पिच्छिल तथा आम मल की प्रवृत्ति (Sticky and mucoid stool)",
    "रक्तमिश्रित मल तथा अतिसार (Melena and Diarrhoea)",
    "कभी-कभी विबन्ध (Constipation)",
]))
story.append(Paragraph("(यह चिरकालानुबन्धी तथा कृच्छ्रसाध्य रोग है।)", NOTE_STYLE))

# Aamaja / Sama
story.append(dosha_heading("आमज ग्रहणी / साम ग्रहणी के लक्षण:"))
story.append(bullet_list([
    "आचार्य चरक ने ग्रहणी नामक व्याधि के चार भेदों (वातिक, पैत्तिक, कफज तथा त्रिदोषज) के अतिरिक्त साम ग्रहणी का भी वर्णन किया है।",
    "विदग्ध या अर्धपक्व आहार से मूच्छित कुपित वातादि दोष ग्रहणी में आश्रित होकर जब ग्रहणी रोग उत्पन्न करते हैं, तब उसे साम ग्रहणी कहते हैं।",
]))
story.append(numbered_list([
    "विष्टम्भ (Constipation)",
    "प्रसेक (Excessive salivation)",
    "उदर में वेदना तथा दाह (Pain and burning sensation in the abdomen)",
    "अरुचि (Anorexia)",
    "शरीर में भारीपन (Heaviness in the body)",
]))

# =====================================================================
# Section 7: साध्यासाध्यता
# =====================================================================
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("साध्यासाध्यता", H1_STYLE))
story.append(hr())
story.append(Paragraph("आचार्य माधवकर के अनुसार:", H2_STYLE))
story.append(numbered_list([
    "वय भेद से: बालक में ग्रहणी दुष्टि साध्य, युवा व्यक्ति में कृच्छ्रसाध्य तथा वृद्ध में असाध्य होती है।",
    "दोष भेद से: एक दोषज (वातिक, पैत्तिक, कफज) ग्रहणी साध्य हैं। सान्निपातिक ग्रहणी कृच्छ्रसाध्य है।",
    "प्रकार भेद से: संग्रह ग्रहणी दुश्चिकित्स्य तथा घटीयन्त्र ग्रहणी असाध्य होती है।",
    "जिन लक्षणों से युक्त अतिसार व्याधि को असाध्य माना जाता है उन्हीं लक्षणों के उपस्थित होने पर ग्रहणी व्याधि भी असाध्य मानी जाती है।",
]))

# =====================================================================
# Section 8: उपद्रव
# =====================================================================
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("ग्रहणी के उपद्रव", H1_STYLE))
story.append(hr())
story.append(numbered_list([
    "ज्वर (Fever)",
    "शोथ (Oedema)",
    "शूल (Pain)",
    "हिक्का (Hiccough)",
    "वमन (Vomiting)",
    "आध्मान (Flatulence)",
    "प्रलाप (Delirium)",
    "श्वास (Dyspnea)",
    "पाण्डु (Anaemia)",
]))

# ---- Footer space ----
story.append(Spacer(1, 0.5*cm))
story.append(hr(thickness=1.5))
FOOT_STYLE = ParagraphStyle("Foot", fontName=DEVA, fontSize=9, leading=13,
                              spaceBefore=2, spaceAfter=2, alignment=TA_CENTER,
                              textColor=colors.HexColor("#666666"))
story.append(Paragraph("Patanjali Ayurved College | Rog Nidan Evam Vikriti Vigyan", FOOT_STYLE))

# ---- Build ----
doc.build(story)
print(f"PDF created: {OUTPUT}")
Running Command

cd /tmp/workspace/grahani-pdf && python3 create_pdf.py 2>&1

Running Command

ls -lh /tmp/workspace/grahani-pdf/Grahani_Rog.pdf

Your PDF is ready! Here's the download link:

Grahani Rog

PDF Document · PDF

The PDF includes all sections from your document, fully formatted:
  • Title page block with Dr. Tanya Chadha's details
  • व्याधि परिचय with bullet points
  • निदान - Charaka's shloka in a styled verse box, numbered lists for Charaka & Sushruta, and dosha-wise specific nidanas
  • सम्प्राप्ति - visual flowchart with connected boxes and a summary table for Samprapti Ghataka
  • भेद - all four classification systems (Charaka/Sushruta, Madhavakara, Gananath Sen, others)
  • पूर्वरूप - shloka box + numbered symptoms for both Acharyas
  • लक्षण - shloka box, Samanya lakshanas, and all Vishishta lakshanas for each type (Vatika, Paittika, Kaphaja, Sannipatika, Sangraha, Ghatiyantra, Raja, Kshhataja, Kshayaja, Nirmoka, Sama Grahani)
  • साध्यासाध्यता and उपद्रव sections
Devanagari text is rendered using the Droid Sans Devanagari font, so all Hindi characters display correctly.
This is a shared conversation. Sign in to Orris to start your own chat.