Häufig gestellte Fragen

Häufig gestellte Fragen

Häufig gestellte Fragen

Wie installiere ich Aspose.Slides FOSS?

Fügen Sie die Maven‑Abhängigkeit zu Ihrem pom.xml hinzu. Java 21 oder höher ist erforderlich.

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

Installation überprüfen:

import org.aspose.slides.foss.Presentation;

Presentation prs = new Presentation();
try {
    System.out.println("Slides: " + prs.getSlides().size());
} finally {
    prs.dispose();
}

Kein Microsoft Office oder andere Systemlaufzeit ist erforderlich.


Warum muss ich dispose() auf Presentation aufrufen?

Die Presentation‑Klasse verwaltet interne OPC‑Paketressourcen. Ohne Aufruf von dispose() werden diese Ressourcen nicht freigegeben, was zu Speicherlecks oder Dateisperren führen kann. Verwenden Sie immer try‑finally:

Presentation prs = new Presentation("input.pptx");
try {
    // work here
    prs.save("output.pptx", SaveFormat.PPTX);
} finally {
    prs.dispose();
}

Alternativ verwenden Sie try-with-resources, da Presentation AutoCloseable implementiert:

try (Presentation prs = new Presentation("input.pptx")) {
    prs.save("output.pptx", SaveFormat.PPTX);
}

In welche Dateiformate kann ich speichern?

Nur PPTX wird unterstützt:

import org.aspose.slides.foss.export.SaveFormat;

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

Export nach PDF, HTML, SVG oder Bildformaten (PNG, JPEG) ist in dieser Ausgabe nicht verfügbar.


Kann ich .ppt (alte PowerPoint 97-2003) Dateien öffnen?

Nein. Nur .pptx (Office Open XML)-Dateien werden unterstützt. Das veraltete .ppt-Binärformat wird von dieser Bibliothek nicht verarbeitet.


Wie greife ich auf Folien zu?

Folien sind eine nullbasierte Sammlung, die über prs.getSlides() zugänglich ist:

ISlide firstSlide = prs.getSlides().get(0);
int slideCount = prs.getSlides().size();

Wie füge ich eine zweite Folie hinzu?

Verwenden Sie prs.getSlides().addEmptySlide() mit einem Layout:

try (Presentation prs = new Presentation()) {
    ILayoutSlide layout = prs.getLayoutSlides().get(0);
    prs.getSlides().addEmptySlide(layout);
    ISlide slide2 = prs.getSlides().get(1);
    prs.save("two-slides.pptx", SaveFormat.PPTX);
}

Wie lege ich die Folienhintergrundfarbe fest?

Die Folienhintergrundfarbe wird in dieser Ausgabe von Aspose.Slides FOSS nicht unterstützt. Es gibt keine getBackground()‑Methode auf ISlide oder einer anderen Klasse in dieser Bibliothek. Der Folienhintergrund ist fest, wenn die Präsentation aus ihrer Vorlage erstellt wird. Eine zukünftige Ausgabe könnte die Hintergrundsteuerung hinzufügen.


Wie benutze ich NullableBool?

NullableBool ist ein Tri-State-Enum, das für Formatierungseigenschaften verwendet wird. Verwenden Sie NullableBool.TRUE (nicht das Java-true) für fett, kursiv und ähnliche Eigenschaften:

import org.aspose.slides.foss.NullableBool;

fmt.setFontBold(NullableBool.TRUE);
fmt.setFontItalic(NullableBool.FALSE);

Warum hat das Festlegen der Textfarbe keine Auswirkung?

Sie müssen außerdem fillType auf FillType.SOLID setzen, bevor Sie die Farbe zuweisen:

import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;

fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(Color.fromArgb(255, 200, 0, 0));

Kann ich Diagramme oder SmartArt verwenden?

Nein. Diagramme, SmartArt, OLE‑Objekte, Animationen, Übergänge, Hyperlinks, VBA‑Makros und digitale Signaturen sind in dieser Ausgabe nicht implementiert und lösen UnsupportedOperationException aus.


Ist die Bibliothek thread‑sicher?

Jedes Presentation-Objekt ist unabhängig. Das Erstellen und Verwenden separater Presentation-Instanzen aus separaten Threads ist sicher, solange Sie kein einzelnes Presentation-Objekt über Threads hinweg ohne externe Synchronisation teilen.


Wie bette ich ein Bild ein?

Lese die Bildbytes und füge sie zu prs.getImages() hinzu, dann erstelle ein PictureFrame:

import org.aspose.slides.foss.ShapeType;

byte[] imageData = java.nio.file.Files.readAllBytes(
    java.nio.file.Paths.get("logo.png")
);
IPPImage image = prs.getImages().addImage(imageData);
slide.getShapes().addPictureFrame(ShapeType.RECTANGLE, 50, 50, 200, 150, image);

Siehe auch

 Deutsch