Dažniausiai užduodami klausimai

Dažniausiai užduodami klausimai

Dažnai užduodami klausimai

Kaip įdiegti Aspose.Slides FOSS?

Pridėkite Maven priklausomybę prie savo pom.xml. Reikalinga Java 21 arba vėlesnė.

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

Patikrinkite diegimą:

import org.aspose.slides.foss.Presentation;

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

Nereikia Microsoft Office ar kitų sistemos vykdymo aplinkų.


Kodėl turiu iškviesti dispose() ant Presentation?

Presentation klasė tvarko vidinius OPC paketo išteklius. Nesukviečiant dispose(), tie ištekliai nėra atlaisvinami, kas gali sukelti atminties nuotėkius arba failų užraktus. Visada naudokite try‑finally:

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

Alternatyviai, naudokite try-with-resources, nes Presentation įgyvendina AutoCloseable:

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

Į kokius failų formatus galiu išsaugoti?

SaveFormat enum apibrėžia konstantas daugeliui formatų — PPTX, PDF, HTML, SVG, JPEG, PNG ir kiti — API suderinamumui su komercine versija. Vykdymo metu šioje FOSS versijoje visi save() perkrovimai ignoruoja formato argumentą ir visada rašo PPTP išvestį. Perduodant SaveFormat.PDF, kompiliacija vyksta teisingai, bet sukuriamas .pptx failas, o ne .pdf.

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

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

Eksportavimas į ne‑PPTX formatus šioje leidimo versijoje nėra funkcionaliai prieinamas. Naudokite SaveFormat.PPTX visoms išsaugojimo operacijoms.


Ar galiu atidaryti .ppt (senus PowerPoint 97-2003) failus?

Ne. Palaikomi tik .pptx (Office Open XML) failai. Senesnis .ppt dvejetainis formatas nėra apdorojamas šios bibliotekos.


Kaip galiu pasiekti skaidres?

Skaidrės yra nulinio indekso kolekcija, prieinama per prs.getSlides():

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

Kaip pridėti antrą skaidrę?

Naudokite prs.getSlides().addEmptySlide() su išdėstymu:

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

Kaip nustatyti skaidrės fono spalvą?

Skaidrės fono spalva nepalaikoma šioje Aspose.Slides FOSS leidimo versijoje. Nėra getBackground() metodo ISlide ar bet kurio kito klasės šiame bibliotekoje. Skaidrės fonas yra fiksuotas, kai pristatymas sukuriamas iš šablono. Ateities leidimas gali pridėti fono valdymą.


Kaip naudoti NullableBool?

NullableBool yra trijų būsenų enum, naudojamas formatavimo savybėms. Naudokite NullableBool.TRUE (ne Java true) paryškintam, kursyvu ir panašiems požymiams:

import org.aspose.slides.foss.NullableBool;

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

Kodėl teksto spalvos nustatymas neturi jokio poveikio?

Taip pat turite nustatyti fillType į FillType.SOLID prieš priskiriant spalvą:

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

Ar galiu naudoti diagramas arba SmartArt?

Ne. Diagramos, SmartArt, OLE objektai, animacijos, perėjimai, hipersaitai, VBA makrokomandos ir skaitmeniniai parašai nėra įgyvendinti šioje versijoje ir sukelia UnsupportedOperationException.


Ar biblioteka yra gijų saugi?

Kiekvienas Presentation objektas yra nepriklausomas. Kurti ir naudoti atskirus Presentation egzempliorius iš atskirų gijų yra saugu, jei nesidalinate vieno Presentation objekto tarp gijų be išorinės sinchronizacijos.


Kaip įterpti paveikslėlį?

Perskaitykite paveikslėlio baitus ir pridėkite juos prie prs.getImages(), tada sukurkite 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);

Žr. taip pat

 Lietuvių