जावा में प्रेजेंटेशन कैसे बनाएं
Aspose.Slides FOSS for Java आपको पूरी तरह से Java में PowerPoint प्रस्तुतियाँ बनाने की अनुमति देता है, बिना Microsoft Office पर निर्भरता के। यह गाइड दिखाता है कि नई प्रस्तुति कैसे बनाएं, स्लाइड और आकार जोड़ें, टेक्स्ट को फ़ॉर्मेट करें, और परिणाम को सहेजें।
स्टेप-बाय-स्टेप गाइड
चरण 1: Maven निर्भरता जोड़ें
अपने pom.xml में Aspose.Slides FOSS जोड़ें। 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;
Presentation prs = new Presentation();
prs.dispose();
System.out.println("Aspose.Slides FOSS ready");चरण 2: आवश्यक क्लासेस आयात करें
सहेजने के लिए आवश्यक Presentation क्लास और SaveFormat एन्युम को इम्पोर्ट करें।
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;सभी shape-type स्थिरांक org.aspose.slides.foss.ShapeType में स्थित हैं। Formatting enums (FillType, NullableBool) भी org.aspose.slides.foss में हैं।
चरण 3: प्रस्तुति बनाएं
new Presentation() का उपयोग करें और इसे try-with-resources में लपेटें। एक नई प्रस्तुति एक खाली स्लाइड से शुरू होती है।
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
System.out.println("Slides in new presentation: " + prs.getSlides().size());
prs.save("output.pptx", SaveFormat.PPTX);
}महत्वपूर्ण: हमेशा try-with-resources का उपयोग करें या finally ब्लॉक में prs.dispose() को कॉल करें। अन्यथा संसाधन सही ढंग से रिलीज़ नहीं होंगे।
चरण 4: स्लाइड तक पहुँचें
पहली स्लाइड इंडेक्स 0 पर है। एक खाली प्रस्तुति में ठीक एक स्लाइड होती है।
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0); // zero-based index
System.out.println("Slide at index 0: " + slide);
prs.save("output.pptx", SaveFormat.PPTX);
}चरण 5: एक आकार जोड़ें
slide.getShapes().addAutoShape() का उपयोग करके एक AutoShape जोड़ें। पैरामीटर (shapeType, x, y, width, height) सभी बिंदुओं में हैं (1 बिंदु = 1/72 इंच; मानक स्लाइड 720 × 540 pt)।
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.ITable;
import org.aspose.slides.foss.ILayoutSlide;
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()) {
ISlide slide = prs.getSlides().get(0);
// Rectangle at (50, 50) with 400 wide and 120 tall
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 400, 120
);
// Attach a text frame
shape.addTextFrame("Hello from Aspose.Slides FOSS!");
prs.save("with-shape.pptx", SaveFormat.PPTX);
}चरण 6: प्रस्तुति सहेजें
try ब्लॉक के बाहर निकलने से पहले prs.save(path, SaveFormat.PPTX) को कॉल करें। PPTX एकमात्र समर्थित आउटपुट फ़ॉर्मेट है।
prs.save("result.pptx", SaveFormat.PPTX);फ़ाइल को एटॉमिक रूप से लिखा जाता है; यदि इस कॉल से पहले कोई त्रुटि होती है, तो कोई आउटपुट फ़ाइल नहीं बनाई जाती।
पूर्ण कार्यशील उदाहरण
निम्नलिखित प्रोग्राम पहले स्लाइड पर एक शीर्षक आकार और दूसरे स्लाइड पर एक तालिका के साथ दो‑स्लाइड प्रस्तुति बनाता है।
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.ITable;
import org.aspose.slides.foss.ILayoutSlide;
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 CreatePresentation {
public static void main(String[] args) {
try (Presentation prs = new Presentation()) {
// --- Slide 1: title shape ---
ISlide slide1 = prs.getSlides().get(0);
IAutoShape title = slide1.getShapes().addAutoShape(
ShapeType.RECTANGLE, 40, 40, 640, 80
);
ITextFrame tf = title.addTextFrame("Q1 Results: Executive Summary");
IPortionFormat fmt = tf.getParagraphs().get(0)
.getPortions().get(0).getPortionFormat();
fmt.setFontHeight(32);
fmt.setFontBold(NullableBool.TRUE);
fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(
Color.fromArgb(255, 0, 70, 127)
);
// --- Slide 2: table ---
prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0));
ISlide slide2 = prs.getSlides().get(1);
ITable table = slide2.getShapes().addTable(
40, 40,
new double[]{200.0, 120.0, 120.0},
new double[]{40.0, 40.0, 40.0}
);
String[] headers = {"Region", "Revenue", "Growth"};
String[][] data = {
{"North", "$1.2M", "+8%"},
{"South", "$0.9M", "+4%"},
};
for (int col = 0; col < headers.length; col++) {
table.getRows().get(0).get(col).getTextFrame().setText(headers[col]);
}
for (int row = 0; row < data.length; row++) {
for (int col = 0; col < data[row].length; col++) {
table.getRows().get(row + 1).get(col)
.getTextFrame().setText(data[row][col]);
}
}
prs.save("q1-results.pptx", SaveFormat.PPTX);
}
System.out.println("Saved q1-results.pptx");
}
}सामान्य समस्याएँ और समाधान
IllegalStateException: Presentation already disposed
आप try-with-resources ब्लॉक के समाप्त होने के बाद Presentation ऑब्जेक्ट पर मेथड्स कॉल कर रहे हैं। हमेशा सभी कार्य try ब्लॉक के भीतर रखें।
UnsupportedOperationException सहेजते समय
यह तब होता है जब PPTX के अलावा किसी अन्य सहेजने के प्रारूप का प्रयास किया जाता है, या जब असमर्थित सुविधा (जैसे चार्ट या एनीमेशन) का उपयोग किया जाता है।
आकार दृश्यमान स्लाइड क्षेत्र के बाहर दिखाई देता है
स्लाइड्स डिफ़ॉल्ट रूप से 720 x 540 पॉइंट्स की होती हैं। x + width <= 720 और y + height <= 540 को रखें।
अक्सर पूछे जाने वाले प्रश्न
डिफ़ॉल्ट स्लाइड आकार क्या है?
एक नया Presentation() मानक 10 × 7.5 इंच (720 × 540 पॉइंट) आकार में स्लाइड बनाता है। इस संस्करण में स्लाइड आकार बदलना अभी समर्थित नहीं है।
क्या मैं एक से अधिक स्लाइड जोड़ सकता हूँ?
हाँ। prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0)) को कॉल करके एक खाली स्लाइड जोड़ें और उसे इंडेक्स द्वारा एक्सेस करें:
prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0));
ISlide slide2 = prs.getSlides().get(1);क्या मैं मौजूदा फ़ाइल खोलकर स्लाइड्स जोड़ सकता हूँ?
हाँ:
try (Presentation prs = new Presentation("existing.pptx")) {
prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0));
prs.save("existing.pptx", SaveFormat.PPTX);
}मैं किन फ़ॉर्मैट्स में सहेज सकता हूँ?
केवल SaveFormat.PPTX समर्थित है। इस संस्करण में PDF, HTML, SVG, या छवियों में निर्यात उपलब्ध नहीं है।