Giriş

Aspose.Slides FOSS for Java artık Maven Central’da mevcut: Microsoft Office veya herhangi bir tescilli çalışma zamanına bağımlı olmadan, tamamen Java’da PowerPoint .pptx dosyalarını oluşturmak, okumak ve düzenlemek için ücretsiz, MIT lisanslı bir kütüphane.

Kütüphane, programlı olarak sunum dosyaları oluşturması veya manipüle etmesi gereken geliştiriciler için tasarlanmıştır: veriden slayt desteleri otomatikleştirme, yüklenen PPTX dosyalarından metin ve meta verileri çıkarma, sunuma dayalı raporlama boru hatları oluşturma veya sunum oluşturmayı Spring Boot uygulamalarına gömme. Çünkü aspose-slides-foss saf Java’dır, Windows, macOS, Linux ve Docker konteynerlerinde aynı şekilde dağıtılır.

Temel Özellikler

  • Tam tur PPTX desteği: Herhangi bir .pptx dosyasını açın, içeriğini değiştirin ve kütüphanenin henüz anlamadığı bilinmeyen XML bölümlerini kaybetmeden geri kaydedin.
  • Slayt yönetimi: prs.getSlides() kullanarak slayt ekleyin, kaldırın ve yineleyin; sunum new Presentation() sonrası bir boş slaytla başlar.
  • AutoShapes, Tablolar ve Bağlayıcılar: Şekilleri slide.getShapes().addAutoShape() ile, tablo verilerini slide.getShapes().addTable() ile ve şekiller arasındaki görsel bağlayıcıları slide.getShapes().addConnector() ile ekleyin.
  • Zengin metin biçimlendirme: Metni karakter düzeyinde PortionFormat ile biçimlendirin: yazı tipi boyutu, kalın, italik, altı çizili ve ARGB renk FillType.SOLID ve ColorFormat aracılığıyla.
  • Dolgu türleri: Herhangi bir şekle FillType.SOLID, GRADIENT, PATTERN veya PICTURE dolgularını uygulayın.
  • Görsel efektler: Dış gölge, parıltı, yumuşak kenar, bulanıklık, yansıma ve iç gölge shape.getEffectFormat() aracılığıyla.
  • 3B biçimlendirme: Kırma, kamera, ışık düzeni, malzeme ve ekstrüzyon derinliği shape.getThreeDFormat() ile.
  • Konuşmacı notları: Her slayta not metnini getNotesSlideManager().addNotesSlide() aracılığıyla ekleyin.
  • İş parçacıklı yorumlar: Yazar meta verileri ve slayt konumu ile yorum ekleyin.
  • Gömülü görüntüler: Dosya yolundan, baytlardan veya InputStream aracılığıyla gömün.
  • Belge özellikleri: Çekirdek, uygulama ve özel özellikleri okuyun ve yazın.

Başlarken

Maven bağımlılığını ekleyin. Java 21 veya daha yenisi gereklidir.

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

Şekil ile ilk sunumunuzu oluşturun ve kaydedin:

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

Her zaman Presentation öğesini bir try-with-resources bloğu içinde kullanın; bu, bloğun çıkışında tüm iç kaynakların serbest bırakılmasını sağlar.

Metin Biçimlendirme Örneği

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

Mevcut Sınırlamalar

Bu sürümde aşağıdaki alanlar UnsupportedOperationException hatasını verir:

  • Grafikler, SmartArt ve OLE nesneleri
  • Animasyonlar ve slayt geçişleri
  • PDF, HTML, SVG veya görüntü formatlarına dışa aktarım
  • Köprüler, eylem ayarları, VBA makroları ve dijital imzalar

Yükleme sırasında karşılaşılan bilinmeyen XML bölümleri kaydetme sırasında olduğu gibi korunur, böylece diğer araçlar tarafından üretilen PPTX dosyaları güvenli bir şekilde round‑trip yapılır.

Ayrıca bakınız