परिचय

Aspose.Slides FOSS for Java अब Maven Central पर उपलब्ध है: एक मुफ्त, MIT-लाइसेंस वाला लाइब्रेरी जो पूरी तरह से Java में PowerPoint .pptx फ़ाइलें बनाने, पढ़ने और संपादित करने के लिए है, बिना Microsoft Office या किसी स्वामित्व वाले रनटाइम पर निर्भर हुए।

यह लाइब्रेरी उन डेवलपर्स के लिए डिज़ाइन की गई है जिन्हें प्रोग्रामेटिक रूप से प्रेजेंटेशन फ़ाइलें जनरेट या मैनिपुलेट करनी होती हैं: डेटा से स्लाइड डेक्स को ऑटोमेट करना, अपलोड किए गए PPTX फ़ाइलों से टेक्स्ट और मेटाडेटा निकालना, प्रेजेंटेशन‑आधारित रिपोर्टिंग पाइपलाइन बनाना, या Spring Boot एप्लिकेशन्स में प्रेजेंटेशन निर्माण को एम्बेड करना। क्योंकि aspose-slides-foss शुद्ध जावा है, यह Windows, macOS, Linux, और Docker कंटेनरों पर समान रूप से डिप्लॉय होता है।

मुख्य विशेषताएँ

  • पूर्ण राउंड-ट्रिप PPTX समर्थन: किसी भी .pptx फ़ाइल को खोलें, उसकी सामग्री को संशोधित करें, और उसे वापस सहेजें बिना उन अज्ञात XML भागों को खोए जो लाइब्रेरी अभी तक नहीं समझती।
  • स्लाइड प्रबंधन: prs.getSlides() का उपयोग करके स्लाइड जोड़ें, हटाएँ, और इटररेट करें; प्रस्तुति new Presentation() के बाद एक खाली स्लाइड से शुरू होती है।
  • ऑटोशेप्स, टेबल्स, और कनेक्टर्स: slide.getShapes().addAutoShape() के माध्यम से आकार डालें, slide.getShapes().addTable() के माध्यम से तालिका डेटा, और slide.getShapes().addConnector() के माध्यम से आकारों के बीच दृश्य कनेक्टर्स।
  • रिच टेक्स्ट फॉर्मेटिंग: PortionFormat के साथ अक्षर स्तर पर टेक्स्ट को फॉर्मेट करें: फ़ॉन्ट आकार, बोल्ड, इटैलिक, अंडरलाइन, और FillType.SOLID तथा ColorFormat के माध्यम से ARGB रंग।
  • फ़िल प्रकार: किसी भी आकार पर FillType.SOLID, GRADIENT, PATTERN, या PICTURE फ़िल लागू करें।
  • विज़ुअल इफ़ेक्ट्स: shape.getEffectFormat() के माध्यम से बाहरी शैडो, ग्लो, सॉफ्ट एज, ब्लर, रिफ्लेक्शन, और आंतरिक शैडो।
  • 3D फॉर्मेटिंग: shape.getThreeDFormat() के माध्यम से बिवेल, कैमरा, लाइट रिग, मैटेरियल, और एक्सट्रूज़न डेप्थ।
  • स्पीकर नोट्स: getNotesSlideManager().addNotesSlide() के माध्यम से प्रत्येक स्लाइड से नोट्स टेक्स्ट संलग्न करें।
  • थ्रेडेड कमेंट्स: लेखक मेटाडेटा और स्लाइड पोज़िशन के साथ कमेंट्स जोड़ें।
  • एम्बेडेड इमेजेज: फ़ाइल पाथ, बाइट्स, या InputStream से एम्बेड करें।
  • डॉक्यूमेंट प्रॉपर्टीज़: कोर, ऐप, और कस्टम प्रॉपर्टीज़ को पढ़ें और लिखें।

शुरू करना

Maven निर्भरता जोड़ें। Java 21 या बाद का संस्करण आवश्यक है।

<dependency>
    <groupId>org.aspose.slides.foss</groupId>
    <artifactId>aspose-slides-foss</artifactId>
    <version>1.0.0</version>
</dependency>

एक आकार के साथ अपनी पहली प्रस्तुति बनाएं और इसे सहेजें:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

public class HelloSlides {
    public static void main(String[] args) {
        try (Presentation prs = new Presentation()) {
            ISlide slide = prs.getSlides().get(0);
            IAutoShape shape = slide.getShapes().addAutoShape(
                ShapeType.RECTANGLE, 50, 50, 400, 120
            );
            shape.addTextFrame("Hello from Aspose.Slides FOSS!");
            prs.save("hello.pptx");
        }
    }
}

हमेशा Presentation को try-with-resources ब्लॉक के भीतर उपयोग करें; यह सुनिश्चित करता है कि ब्लॉक के समाप्त होने पर सभी आंतरिक संसाधन रिलीज़ हो जाएँ।

पाठ स्वरूपण उदाहरण

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation()) {
    IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 500, 150
    );
    ITextFrame tf = shape.addTextFrame("Bold heading in corporate blue");
    IPortionFormat fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
    fmt.setFontHeight(28);
    fmt.setFontBold(NullableBool.TRUE);
    fmt.getFillFormat().setFillType(FillType.SOLID);
    fmt.getFillFormat().getSolidFillColor().setColor(new Color(0, 70, 127));
    prs.save("formatted.pptx");
}

वर्तमान सीमाएँ

इस रिलीज़ में निम्नलिखित क्षेत्रों में UnsupportedOperationException त्रुटि उत्पन्न होती है:

  • चार्ट, स्मार्टआर्ट, और OLE ऑब्जेक्ट्स
  • एनीमेशन और स्लाइड ट्रांज़िशन
  • PDF, HTML, SVG, या इमेज फ़ॉर्मैट्स में निर्यात
  • हाइपरलिंक्स, एक्शन सेटिंग्स, VBA मैक्रोज़, और डिजिटल सिग्नेचर

लोड के दौरान मिलने वाले अज्ञात XML भागों को सहेजते समय वैरबेट रूप में संरक्षित किया जाता है, इसलिए अन्य टूल्स द्वारा निर्मित PPTX फ़ाइलें सुरक्षित रूप से राउंड‑ट्रिप करती हैं।

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