कैसे लोड करें प्रस्तुतियों को Python में

कैसे लोड करें प्रस्तुतियों को Python में

Aspose.Slides FOSS for Python lets you open any .pptx फ़ाइल, उसकी सामग्री की जाँच करें, और या तो इसे PPTX में वापस सहेजें या उससे डेटा निकालें। यह गाइड फ़ाइल खोलने, स्लाइड्स पर इटररेट करने, शैप टेक्स्ट पढ़ने, और सहेजने की राउंड‑ट्रिपिंग को कवर करता है।.

स्टेप बाय स्टेप गाइड

Step 1: पैकेज स्थापित करें

pip install aspose-slides-foss

चरण 2: मौजूदा प्रस्तुति खोलें

फ़ाइल पथ को पास करें slides.Presentation(). क्लीनअप सुनिश्चित करने के लिए कॉन्टेक्स्ट मैनेजर का उपयोग करें।.

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

with slides.Presentation("input.pptx") as prs:
    print(f"Slide count: {len(prs.slides)}")
    prs.save("output.pptx", SaveFormat.PPTX)

स्रोत फ़ाइल में अज्ञात XML भागों को जैसा है वैसा ही संरक्षित किया जाता है: लाइब्रेरी कभी भी ऐसी सामग्री नहीं हटाती जिसे वह अभी तक समझ नहीं पाती।.


चरण 3: स्लाइड्स की जाँच करें

सभी स्लाइड्स पर इटररेट करें और उनका इंडेक्स प्रिंट करें:

import aspose.slides_foss as slides

with slides.Presentation("deck.pptx") as prs:
    for i, slide in enumerate(prs.slides):
        shape_count = len(slide.shapes)
        print(f"Slide {i}: {shape_count} shapes")

चरण 4: शैप टेक्स्ट पढ़ें

शेप्स पर इटररेट करें और उन शेप्स से टेक्स्ट पढ़ें जिनमें एक TextFrame:

import aspose.slides_foss as slides

with slides.Presentation("deck.pptx") as prs:
    for slide in prs.slides:
        for shape in slide.shapes:
            if hasattr(shape, "text_frame") and shape.text_frame is not None:
                text = shape.text_frame.text
                if text.strip():
                    print(f"  Shape text: {text!r}")

चरण 5: दस्तावेज़ गुण पढ़ें

कोर डॉक्यूमेंट प्रॉपर्टीज़ को … से एक्सेस करें prs.document_properties:

import aspose.slides_foss as slides

with slides.Presentation("deck.pptx") as prs:
    props = prs.document_properties
    print(f"Title:   {props.title}")
    print(f"Author:  {props.author}")
    print(f"Subject: {props.subject}")

चरण 6: राउंड‑ट्रिप सहेजें

प्रस्तुति की जाँच या संशोधन के बाद, इसे PPTX में वापस सहेजें:

prs.save("output.pptx", SaveFormat.PPTX)

विभिन्न पाथ पर सहेजने से नई फ़ाइल बनती है। समान पाथ पर सहेजने से मूल फ़ाइल ओवरराइट हो जाती है।.


सामान्य समस्याएँ और समाधान

FileNotFoundError

जाँचें कि पथ … तक सही है .pptx फ़ाइल कार्यशील डायरेक्टरी के सापेक्ष सही है। उपयोग करें pathlib.Path मजबूत पाथ निर्माण के लिए:

from pathlib import Path
path = Path(__file__).parent / "assets" / "deck.pptx"
with slides.Presentation(str(path)) as prs:
    ...

Exception: File format is not supported

लाइब्रेरी समर्थन करती है .pptx (Office Open XML) केवल। लेगेसी .ppt (binary PowerPoint 97–2003) फ़ाइलें समर्थित नहीं हैं।.

Shapes में कोई text_frame एट्रिब्यूट नहीं है

कुछ आकार (Connectors, PictureFrames, GroupShapes) में एक नहीं होता text_frame. के साथ गार्ड करें hasattr(shape, "text_frame") and shape.text_frame is not None पाठ तक पहुँचने से पहले।.


अक्सर पूछे जाने वाले प्रश्न

क्या लोड करने से सभी मूल सामग्री संरक्षित रहती है?

हाँ। अज्ञात XML भागों को राउंड‑ट्रिप सहेजने पर वैरबेटिम रूप से संरक्षित रखा जाता है। लाइब्रेरी किसी भी XML कंटेंट को नहीं हटाएगी जिसे वह अभी तक समझ नहीं पाती।.

क्या मैं पासवर्ड‑सुरक्षित PPTX लोड कर सकता हूँ?

पासवर्ड‑सुरक्षित (एन्क्रिप्टेड) प्रस्तुतियों को इस संस्करण में समर्थन नहीं दिया गया है।.

क्या मैं एम्बेडेड इमेजेज़ निकाल सकता हूँ?

इमेज संग्रह तक पहुँचें: prs.images वापस देता है ImageCollection. प्रत्येक इमेज में एक content_type और एक bytes गुणधर्म कच्चा इमेज डेटा पढ़ने के लिए।.

क्या इन‑मेमोरी स्ट्रीम से लोड करना समर्थित है?

से सीधे लोड करना io.BytesIO वर्तमान API में उजागर नहीं है। पहले बाइट्स को एक अस्थायी फ़ाइल में लिखें:

import tempfile, os
import aspose.slides_foss as slides

with tempfile.NamedTemporaryFile(suffix=".pptx", delete=False) as tmp:
    tmp.write(pptx_bytes)
    tmp_path = tmp.name

try:
    with slides.Presentation(tmp_path) as prs:
        print(f"Slides: {len(prs.slides)}")
finally:
    os.unlink(tmp_path)

संबंधित देखें

 हिन्दी