Java'da Sunumları Nasıl Yüklenir

Java'da Sunumları Nasıl Yüklenir

Aspose.Slides FOSS for Java, herhangi bir .pptx dosyasını açmanıza, içeriğini incelemenize ve ya PPTX olarak geri kaydetmenize ya da verileri çıkarmanıza olanak tanır. Bu kılavuz, bir dosyanın açılmasını, slaytların yinelemesini, şekil metninin okunmasını ve kaydetmenin geri döndürülmesini 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 Presentation yapıcısına geçirin. 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 anlayamadığı içeriği asla kaldırmaz.


Adım 3: Slaytları İncele

Tüm slaytlar üzerinde yineleyin ve şekil sayısı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 yineleme yapın ve TextFrame içeren şekillerden metni okuyun:

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

prs.getDocumentProperties()‘den temel belge özelliklerine erişin:

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: Çift Yönlü Kaydet

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

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

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


Yaygın Sorunlar ve Çözümler

java.io.FileNotFoundException

Çalışma dizinine göre .pptx dosyasının yolunun doğru olduğundan emin olun. Sağlam yol oluşturma için java.nio.file.Paths kullanın:

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 yalnızca .pptx (Office Open XML) destekler. Eski .ppt (ikili PowerPoint 97-2003) dosyaları desteklenmez.

Şekillerin getTextFrame() yöntemi yok

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


Sıkça Sorulan Sorular

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

Evet. Bilinmeyen XML bölümleri, çift yönlü kaydetme sırasında tam olarak 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ı (şifrelenmiş) sunumlar bu sürümde desteklenmez.

InputStream’ten yükleme destekleniyor mu?

Evet. Presentation yapıcı bir InputStream kabul eder:

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