Giriş

Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx dosyalar tamamen Java içinde, Microsoft Office’e veya herhangi bir tescilli çalışma zamanına bağımlı olmadan.

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 olduğu için, Windows, macOS, Linux ve Docker konteynerlerinde aynı şekilde dağıtılır.

Temel Özellikler

  • Tam tur PPTX desteği: Herhangi bir dosyayı aç .pptx dosyası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: Slaytları ekleyin, kaldırın ve yineleyin, kullanarak prs.getSlides(); sunum bir boş slaytla başlar new Presentation().
  • AutoShapes, Tablolar ve Bağlayıcılar: Şekilleri şu şekilde ekleyin slide.getShapes().addAutoShape(), tablo verilerini şu şekilde slide.getShapes().addTable(), ve şekiller arasındaki görsel bağlayıcıları şu şekilde slide.getShapes().addConnector().
  • Zengin metin biçimlendirme: Metni karakter düzeyinde biçimlendirin, şunlarla PortionFormat: yazı tipi boyutu, kalın, italik, altı çizili ve ARGB renk, şu şekilde FillType.SOLID ve ColorFormat.
  • Dolgu türleri: Uygula FillType.SOLID, GRADIENT, PATTERN, veya PICTURE herhangi bir şekle doldurur.
  • Görsel efektler: Dış gölge, parıltı, yumuşak kenar, bulanıklık, yansıma ve iç gölge aracılığıyla shape.getEffectFormat().
  • 3D formatting: Eğim, kamera, ışık donanımı, malzeme ve ekstrüzyon derinliği aracılığıyla shape.getThreeDFormat().
  • Sunucu notları: Her slayta not metni ekleyin aracılığıyla getNotesSlideManager().addNotesSlide().
  • İşlemeli yorumlar: Yazar meta verileri ve slayt konumu ile yorum ekleyin.
  • Gömülü görüntüler: Dosya yolundan, baytlardan veya InputStream.
  • Belge özellikleri: Çekirdek, uygulama ve özel özellikleri okuyun ve yazın.

Başlarken

Maven bağımlılığını ekleyin. Java 21 veya daha yeni bir sürüm gereklidir.

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

Bir ş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 kullanın Presentation bir try-with-resources bloğu içinde; bu, blok çıktığı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

Aşağıdaki alanlar fırlatır UnsupportedOperationException bu sürümde:

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

Yükleme sırasında karşılaşılan bilinmeyen XML bölümleri, kaydedildiğinde tam olarak korunur, böylece diğer araçlar tarafından üretilen PPTX dosyaları güvenli bir şekilde dönüşüm yapar.

Ayrıca Bakınız