1. Produkter
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for Java

Aspose.Slides FOSS för Java

Skapa, läs och redigera PowerPoint-presentationer från Java — gratis och öppen källkod, ingen Office‑beroende krävs.

Öppen källkod Java-bibliotek för PowerPoint-presentationer

Aspose.Slides FOSS för Java är ett MIT-licensierat pure-Java bibliotek för att arbeta med PowerPoint .pptx filer. Lägg till ett enda Maven‑beroende och börja omedelbart skapa, läsa och redigera presentationer utan att installera Microsoft Office eller någon proprietär runtime.

Biblioteket exponerar ett Presentation‑API byggt kring Presentation, Slide, Shape, TextFrame, Paragraph och Portion, den konceptuella modell som PowerPoint själv använder. Lägg till och ta bort bilder, infoga AutoShapes, Tabeller och Kopplingar, formatera text på teckennivå med fet, kursiv, teckenstorlek och färg, applicera solida eller gradientfyllningar och lägg till visuella effekter (skugga, glöd, oskärpa, reflektion).

Klassen Presentation implementerar AutoCloseable, så använd try-with-resources för pålitlig städning. Okända XML-delar som påträffas under inläsning bevaras ordagrant vid sparning, så rundresning förstör aldrig innehåll som biblioteket ännu inte förstår. För ytterligare funktioner och support, se Aspose.Slides for Java enterprise edition.

Presentation- och bild‑API

  • Skapa och öppna PPTX: Skapa nya presentationer eller öppna befintliga .pptx-filer via new Presentation() eller new Presentation(path).
  • Add and remove slides: Hantera SlideCollection programatiskt med addClone(), addEmptySlide(), remove() och removeAt().
  • AutoShapes: Infoga rektanglar, ellipser, linjer och andra ShapeType geometrier via addAutoShape().
  • Tabeller och anslutningar: Lägg till strukturerade tabellformer och anslutningslinjer mellan former via addConnector().
  • Talarnoter: Läs och skriv per‑slide talarnoter via NotesSlideManager.
  • Trådade kommentarer: Få åtkomst till kommentars‑trådar på bildnivå med getSlideComments().

Var Aspose.Slides FOSS kan användas

  • Rapportgenerering: Skapa varumärkesanpassade bildspel från datakällor utan Office.
  • Mallautomatisering: Fyll PPTX-mallar med dynamiskt innehåll i CI/CD-pipelines.
  • Innehållsmigrering: Läs befintliga presentationer och omstrukturera eller omstyla bilder.
  • Serverless backends: Bearbeta PPTX-filer i Docker-containrar eller Lambda-funktioner.
  • Batch processing: Tillämpa enhetliga formateringsändringar över stora bildspelsbibliotek.

Textformatering och visuella effekter

  • Tecken‑nivåformatering: Applicera fetstil, kursiv, teckenstorlek och färg på enskilda Portion objekt via getPortionFormat().
  • Solida och gradientfyllningar: Ställ in formens fyllning till en solid färg eller en flerstoppig linjär gradient med hjälp av getFillFormat() och FillType.
  • Skugga- och glödeffekter: Applicera yttre skugga, glöd, oskärpa och reflektion på vilken form som helst via getEffectFormat().
  • Styckejustering: Ställ in vänster, centrerad, höger eller justerad justering per stycke med getParagraphFormat().setAlignment().
  • Round-trip safe: Okända XML delar bevaras ordagrant vid återlagring.

Utvecklarupplevelse

Aspose.Slides FOSS installeras med ett enda Maven-beroende (org.aspose.slides.foss:aspose-slides-foss). Biblioteket är ren Java utan inhemska tillägg att kompilera och utan systempaket att installera.

API:et speglar PowerPoints egna objektmodell (Presentation, Slide, Shape, TextFrame, Paragraph, Portion), så att alla som är bekanta med PowerPoint‑objektmodellen kan använda biblioteket omedelbart. Det är MIT‑licensierat, öppen källkod på GitHub, och kräver JDK 21 eller senare.

Skapa en presentation och lägg till en form

Använd try-with-resources för att säkerställa att Presentation alltid stängs och resurser frigörs. addAutoShape() tar en ShapeType enum, sedan x/y-position och bredd/höjd i punkter. Anropa addTextFrame() för att skapa textramen och sätta den initiala texten i ett anrop — anropa inte getTextFrame() före addTextFrame() eftersom ramen är null tills den skapats.

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

try (Presentation prs = new Presentation()) {
    ISlide slide = prs.getSlides().get(0);

    // Add a rectangle AutoShape
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    shape.addTextFrame("Hello, Aspose.Slides!");

    prs.save("output.pptx");
}
 ```xml
<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>
 

Formatera text och tillämpa en fyllningseffekt

Textformatering fungerar på Portion-nivå — den minsta enheten i en sekvens av tecken. Öppna den sparade filen, navigera till den första delen av det första stycket och ställ in teckensnittsegenskaper via getters och setters. Formfyllning är oberoende: sätt FillType till SOLID och tilldela en färg via getSolidFillColor().setColor().

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

try (Presentation prs = new Presentation("output.pptx")) {
    IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 ```java
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.pptx")) {
    IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 

Vanliga Frågor

Vad är Aspose.Slides FOSS för Java?

Det är ett gratis, MIT-licensierat pure-Java bibliotek för att skapa, läsa och redigera PowerPoint .pptx-presentationer utan att kräva Microsoft Office.

Vilka filformat stöds?

.pptx är det stödjade läs/skriv-formatet. Export till PDF, HTML, SVG eller bilder är inte tillgängligt i den här utgåvan.

Kräver det Microsoft Office eller PowerPoint?

Nej. Aspose.Slides FOSS är ett rent-Java bibliotek utan beroende av Microsoft Office, COM-automatisering eller någon proprietär runtime.

Hur installerar jag det?

Lägg till Maven‑beroendet org.aspose.slides.foss:aspose-slides-foss:1.0.0 i ditt projekt. Inga ytterligare systempaket eller inhemska tillägg krävs. JDK 21 eller senare krävs.

Kan jag tillämpa visuella effekter som skugga och glöd?

Ja. Biblioteket stöder yttre skugga, glöd, oskärpa och reflektionseffekter på alla formobjekt via EffectFormat API.

Rekommenderas try-with-resources-mönstret?

Ja. Presentation implementerar AutoCloseable, så använd alltid try (Presentation prs = new Presentation()) { ... } för pålitlig resurshantering.

Kommer en round-tripping av en PPTX att förstöra okänt innehåll?

Nej. Okända XML-delar som påträffas under inläsning bevaras ordagrant vid sparning, så innehåll som biblioteket ännu inte förstår går aldrig förlorat.

Var kan jag hitta källkoden?

Biblioteket är licensierat under MIT och är hostat på GitHub. Felrapporter och pull‑requests är välkomna.

  

Stöd och Lärande Resurser

 Svenska