Sunumları Java içinde Nasıl Yüklenir

Sunumları Java içinde Nasıl Yüklenir

Aspose.Slides FOSS for Java lets you open any .pptx dosyayı, içeriğini inceleyin ve ya PPTX olarak geri kaydedin ya da verileri ondan çıkarın. Bu kılavuz, bir dosyanın açılmasını, slaytların döngüyle gezilmesini, şekil metninin okunmasını ve kaydetmenin round‑trip yapılmasını kapsar.

Adım Adım Kılavuz

Adım 1: Maven Bağımlılığını Ekleyin

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

Adım 2: Mevcut Bir Sunumu Aç

Dosya yolunu şuna geçirin Presentation yapıcı. Temizliği sağlamak için try-with-resources kullanın.

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);
}

Kaynak dosyadaki bilinmeyen XML bölümleri olduğu gibi korunur: kütüphane henüz anlamadığı içeriği asla kaldırmaz.


Adım 3: Slaytları İncele

Tüm slaytlar üzerinde döngü yapın ve şekil sayılarını yazdırın:

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");
    }
}

Adım 4: Şekil Metnini Oku

Şekiller üzerinde yineleyin ve bir … içeren şekillerden metni okuyun. 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());
                }
            }
        }
    }
}

Adım 5: Belge Özelliklerini Oku

Temel belge özelliklerine şuradan erişin 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());
}

Adım 6: Döngüsel Kaydetme

Sunumu inceledikten veya değiştirdikten sonra, PPTX olarak geri kaydedin:

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

Farklı bir yola kaydetmek yeni bir dosya oluşturur. Aynı yola kaydetmek orijinali üzerine yazar.


Yaygın Sorunlar ve Çözümler

java.io.FileNotFoundException

Yolun …‘a doğru olduğundan emin olun .pptx dosyanın çalışma dizinine göre doğru olduğundan emin olun. Şunu kullanın java.nio.file.Paths sağlam yol oluşturma için:

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

Kütüphane şunları destekler .pptx (Office Open XML) yalnızca. Eski .ppt (binary PowerPoint 97-2003) dosyaları desteklenmez.

Şekillerin getTextFrame() metodu yok

Bazı şekiller (Connectors, PictureFrames, GroupShapes) bir metin çerçevesine sahip değildir. Şununla kontrol edin instanceof IAutoShape dönüştürmeden ve metne erişmeden önce.


Sık Sorulan Sorular

Yükleme tüm orijinal içeriği koruyor mu?

Evet. Bilinmeyen XML bölümleri, çift yönlü kaydetmede olduğu gibi olduğu gibi korunur. Kütüphane yalnızca anladığı belge modeli bölümlerini serileştirir ve tanımadığı XML’i olduğu gibi geçirir.

Şifre korumalı bir PPTX dosyasını yükleyebilir miyim?

Şifre korumalı (şifreli) sunumlar bu sürümde desteklenmez.

InputStream’den yükleme destekleniyor mu?

Evet. Şu Presentation yapıcı bir … kabul eder. InputStream:

import java.io.FileInputStream;

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

Ayrıca Bakınız

 Türkçe