Python में प्रस्तुतियाँ कैसे बनाएं

Python में प्रस्तुतियाँ कैसे बनाएं

Aspose.Slides FOSS for Python आपको पूरी तरह से Python में PowerPoint प्रस्तुतियां बनाने की अनुमति देता है, बिना Microsoft Office पर निर्भरता के। यह गाइड दिखाता है कि नई प्रस्तुति कैसे बनाएं, स्लाइड और आकार जोड़ें, टेक्स्ट को फ़ॉर्मेट करें, और परिणाम को सहेजें।

चरण-दर-चरण मार्गदर्शिका

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

PyPI से Aspose.Slides FOSS स्थापित करें। Python 3.10 या बाद का संस्करण आवश्यक है।

pip install aspose-slides-foss

स्थापना की पुष्टि करें:

import aspose.slides_foss as slides
print("Aspose.Slides FOSS ready")

lxml निर्भरता स्वचालित रूप से स्थापित की जाती है। अन्य कोई सिस्टम पैकेज आवश्यक नहीं हैं।


चरण 2: आवश्यक मॉड्यूल आयात करें

सहेजने के लिए आवश्यक पैकेज और SaveFormat enum आयात करें।

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

सभी shape‑type स्थिरांक aspose.slides_foss.ShapeType में स्थित हैं। सभी formatting प्रकार (FillType, NullableBool) भी aspose.slides_foss में हैं।


चरण 3: प्रस्तुति बनाएं

slides.Presentation() को एक कॉन्टेक्स्ट मैनेजर के रूप में उपयोग करें। एक नई प्रस्तुति एक खाली स्लाइड से शुरू होती है।

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

with slides.Presentation() as prs:
    print(f"Slides in new presentation: {len(prs.slides)}")
    # work with prs inside this block
    prs.save("output.pptx", SaveFormat.PPTX)

Important: हमेशा Presentation को with ब्लॉक के अंदर खोलें और उपयोग करें। with स्टेटमेंट के बाहर कोई रेफ़रेंस न रखें; संसाधन सही ढंग से रिलीज़ नहीं होंगे।


चरण 4: स्लाइड तक पहुँचें

पहली स्लाइड इंडेक्स 0 पर है। एक खाली प्रस्तुति में ठीक एक स्लाइड होती है।

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

with slides.Presentation() as prs:
    slide = prs.slides[0]  # zero-based index
    print(f"Slide at index 0: {slide}")
    prs.save("output.pptx", SaveFormat.PPTX)

चरण 5: एक आकार जोड़ें

slide.shapes.add_auto_shape() का उपयोग करके एक AutoShape जोड़ें। पैरामीटर (shape_type, x, y, width, height) सभी पॉइंट्स में हैं (1 पॉइंट = 1/72 इंच; मानक स्लाइड 720 × 540 pt है)।

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

with slides.Presentation() as prs:
    slide = prs.slides[0]

    # Rectangle at (50, 50) with 400 wide and 120 tall
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 400, 120)

    # Attach a text frame
    shape.add_text_frame("Hello from Aspose.Slides FOSS!")

    prs.save("with-shape.pptx", SaveFormat.PPTX)

चरण 6: प्रस्तुति सहेजें

prs.save(path, SaveFormat.PPTX) को कॉल करें इससे पहले कि with ब्लॉक समाप्त हो। PPTX एकमात्र समर्थित आउटपुट फ़ॉर्मेट है।

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

फ़ाइल को एटॉमिक रूप से लिखा जाता है; यदि इस कॉल से पहले कोई त्रुटि होती है, तो कोई आउटपुट फ़ाइल नहीं बनाई जाती।


पूर्ण कार्यशील उदाहरण

निम्नलिखित स्क्रिप्ट पहले स्लाइड पर एक शीर्षक आकार और दूसरे स्लाइड पर एक तालिका के साथ दो‑स्लाइड प्रस्तुति बनाती है।

import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, NullableBool, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    # --- Slide 1: title shape ---
    slide1 = prs.slides[0]
    title = slide1.shapes.add_auto_shape(ShapeType.RECTANGLE, 40, 40, 640, 80)
    tf = title.add_text_frame("Q1 Results: Executive Summary")
    fmt = tf.paragraphs[0].portions[0].portion_format
    fmt.font_height = 32
    fmt.font_bold = NullableBool.TRUE
    fmt.fill_format.fill_type = FillType.SOLID
    fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 70, 127)

    # --- Slide 2: table ---
    prs.slides.add_empty_slide(prs.layout_slides[0])
    slide2 = prs.slides[1]
    table = slide2.shapes.add_table(40, 40, [200.0, 120.0, 120.0], [40.0, 40.0, 40.0])
    headers = ["Region", "Revenue", "Growth"]
    data = [
        ["North", "$1.2M", "+8%"],
        ["South", "$0.9M", "+4%"],
    ]
    for col, header in enumerate(headers):
        table.rows[0][col].text_frame.text = header
    for row_idx, row_data in enumerate(data):
        for col, cell_text in enumerate(row_data):
            table.rows[row_idx + 1][col].text_frame.text = cell_text

    prs.save("q1-results.pptx", SaveFormat.PPTX)

print("Saved q1-results.pptx")

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

ResourceWarning: unclosed Presentation

आप Presentation को with ब्लॉक के बिना इंस्टैंसिएट कर रहे हैं। हमेशा उपयोग करें:

with slides.Presentation() as prs:
    ...

AttributeError: __enter__

यदि आप यह त्रुटि देखते हैं, तो जांचें कि आपने aspose.slides_foss आयात किया है (aspose.slides नहीं)। PyPI पर पैकेज का नाम aspose-slides-foss है और रनटाइम आयात aspose.slides_foss है।

TypeError: SaveFormat.PPTX is not callable

SaveFormat.PPTX एक enum सदस्य है, फ़ंक्शन नहीं है। इसे prs.save("file.pptx", SaveFormat.PPTX) के रूप में उपयोग करें।


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

डिफ़ॉल्ट स्लाइड आकार क्या है?

एक नया Presentation() मानक 10 × 7.5 इंच (720 × 540 पॉइंट) आकार में स्लाइड बनाता है। इस संस्करण में स्लाइड आकार बदलना अभी समर्थित नहीं है।

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

हाँ। prs.slides.add_empty_slide(prs.layout_slides[0]) को कॉल करके एक खाली स्लाइड जोड़ें और इसे इंडेक्स द्वारा एक्सेस करें:

prs.slides.add_empty_slide(prs.layout_slides[0])
slide2 = prs.slides[1]

क्या मैं मौजूदा फ़ाइल खोलकर स्लाइड्स जोड़ सकता हूँ?

हाँ:

with slides.Presentation("existing.pptx") as prs:
    prs.slides.add_empty_slide(prs.layout_slides[0])
    prs.save("existing.pptx", SaveFormat.PPTX)

मैं किन फ़ॉर्मैट्स में सहेज सकता हूँ?

केवल SaveFormat.PPTX समर्थित है। PDF, HTML, SVG, या छवियों में निर्यात इस संस्करण में उपलब्ध नहीं है।


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

 हिन्दी