كيفية تحميل العروض التقديمية في Java

كيفية تحميل العروض التقديمية في Java

Aspose.Slides FOSS for Java lets you open any .pptx الملف، فحص محتواه، وإما حفظه مرة أخرى إلى PPTX أو استخراج البيانات منه. هذا الدليل يغطي فتح ملف، وتشويش الشرائح، وقراءة شكل النص، ودوائر-مخزون الخزانة.

خطوة بخطوة دليل

الخطوة 1: إضافة الاعتماد على Maven

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

الخطوة 2: افتح عرض موجود

قم بتحويل مسار الملف إلى Presentation استخدام الموارد محاولة لضمان التنظيف.

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IShape;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IDocumentProperties;
import org.aspose.slides.foss.export.SaveFormat;

try (Presentation prs = new Presentation("input.pptx")) {
    System.out.println("Slide count: " + prs.getSlides().size());
    prs.save("output.pptx", SaveFormat.PPTX);
}

يتم الحفاظ على أجزاء XML غير معروفة في ملف المصدر: لا تقوم المكتبة بإزالة المحتوى الذي لا يفهمه بعد.


الخطوة الثالثة: فحص الشرائح

اقرأ جميع الشرائح و اكتب عددها :

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IShape;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IDocumentProperties;
import org.aspose.slides.foss.export.SaveFormat;

try (Presentation prs = new Presentation("deck.pptx")) {
    for (int i = 0; i < prs.getSlides().size(); i++) {
        ISlide slide = prs.getSlides().get(i);
        int shapeCount = slide.getShapes().size();
        System.out.println("Slide " + i + ": " + shapeCount + " shapes");
    }
}

الخطوة 4: قراءة النص الشكل

اقرأ المزيد من الاحاديث و اكتب النص من الأشكال التي لديها TextFrame:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IShape;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IDocumentProperties;
import org.aspose.slides.foss.export.SaveFormat;

try (Presentation prs = new Presentation("deck.pptx")) {
    for (ISlide slide : prs.getSlides()) {
        for (IShape shape : slide.getShapes()) {
            if (shape instanceof IAutoShape) {
                IAutoShape autoShape = (IAutoShape) shape;
                ITextFrame tf = autoShape.getTextFrame();
                if (tf != null && !tf.getText().isEmpty()) {
                    System.out.println("  Shape text: " + tf.getText());
                }
            }
        }
    }
}

الخطوة الخامسة: قراءة ملكية المستندات

الوصول إلى الخصائص الأساسية للوثيقة من prs.getDocumentProperties():

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IShape;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IDocumentProperties;
import org.aspose.slides.foss.export.SaveFormat;

try (Presentation prs = new Presentation("deck.pptx")) {
    IDocumentProperties props = prs.getDocumentProperties();
    System.out.println("Title:   " + props.getTitle());
    System.out.println("Author:  " + props.getAuthor());
    System.out.println("Subject: " + props.getSubject());
}

الخطوة 6: Round-Trip Save

بعد فحص أو تعديل العرض التقديمي، حفظه مرة أخرى إلى PPTX:

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

إن حفظ الطريق إلى مسار مختلف يخلق ملفًا جديدًّا، وإن حفظ المسار إلى نفس المسارات يتجاوز الكتابة الأصلية.


مشكلات و تصحيحات مشتركة

java.io.FileNotFoundException

انظروا إلى الطريق الذي يمر به .pptx الملف صحيح فيما يتعلق بملف العمل.استخدام java.nio.file.Paths بناء مسار قوي:

import java.nio.file.Path;
import java.nio.file.Paths;

Path path = Paths.get("assets", "deck.pptx");
try (Presentation prs = new Presentation(path.toString())) {
    // ...
}

Exception: File format is not supported

المكتبة تدعم .pptx (Office Open XML) فقط. .ppt (البرنامج الثنائي PowerPoint 97-2003) لا يتم دعم الملفات.

لا يوجد طريقة getTextFrame()

بعض الأشكال (الرابطات، PictureFrames، GroupShapes) لا تحتوي على إطار نصي. instanceof IAutoShape قبل إرسال النص أو الوصول إليه.


الأسئلة المتكررة

هل يحفظ تحميل كل المحتوى الأصلي؟?

نعم، يتم حفظ أجزاء XML غير معروفة على النسخ الاحتياطي الدائري.المكتبة تصف فقط الأجزء من نموذج المستند الذي يفهمه، وتمر عبر أي XML التي لا يعرفها.

هل يمكنني تحميل PPTX المحمي كلمة المرور؟?

لا يتم دعم العروض التقديمية المحمية كلمة المرور (المشفوعة) في هذا الإصدار.

هل يتم دعم الشحن من InputStream؟?

نعم، أليس كذلك؟ Presentation يوافق المصنع على InputStream:

import java.io.FileInputStream;

try (FileInputStream fis = new FileInputStream("deck.pptx");
     Presentation prs = new Presentation(fis)) {
    System.out.println("Slides: " + prs.getSlides().size());
}

انظر أيضا

 العربية