Biežāk uzdotie jautājumi
Biežāk uzdotie jautājumi
Kā es varu instalēt Aspose.Slides FOSS?
Pievienojiet Maven atkarību savam pom.xml. Nepieciešama Java 21 vai jaunāka.
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>Pārbaudiet instalāciju:
import org.aspose.slides.foss.Presentation;
Presentation prs = new Presentation();
try {
System.out.println("Slides: " + prs.getSlides().size());
} finally {
prs.dispose();
}Nav nepieciešams ne Microsoft Office, ne kāds cits sistēmas izpildlaiks.
Kāpēc man jāizsauc dispose() uz Presentation?
Presentation klase pārvalda iekšējos OPC paketes resursus. Bez izsaukšanas dispose(), šie resursi netiek atbrīvoti, kas var izraisīt atmiņas noplūdes vai failu bloķēšanu. Vienmēr izmantojiet try-finally:
Presentation prs = new Presentation("input.pptx");
try {
// work here
prs.save("output.pptx", SaveFormat.PPTX);
} finally {
prs.dispose();
}Alternatīvi, izmantojiet try-with-resources, jo Presentation īsteno AutoCloseable:
try (Presentation prs = new Presentation("input.pptx")) {
prs.save("output.pptx", SaveFormat.PPTX);
}Kādus failu formātus varu saglabāt?
SaveFormat uzskaitījums definē konstantes daudziem formātiem — PPTX, PDF, HTML, SVG, JPEG, PNG un citiem — API saderībai ar komerciālo izdevumu. Izpildes laikā šajā FOSS izdevumā visi save() pārlādējumi ignorē formāta argumentu un vienmēr raksta PPTX izvadi. Nododot SaveFormat.PDF tas tiek kompilēts pareizi, bet izveido .pptx failu, nevis .pdf.
import org.aspose.slides.foss.export.SaveFormat;
prs.save("output.pptx", SaveFormat.PPTX);Eksportēšana uz ne‑PPTX formātiem šajā izdevumā nav funkcionāli pieejama. Visām saglabāšanas operācijām izmantojiet SaveFormat.PPTX.
Vai es varu atvērt .ppt (vecos PowerPoint 97-2003) failus?
Nē. Tiek atbalstīti tikai .pptx (Office Open XML) faili. Vecais .ppt binārais formāts netiek apstrādāts šajā bibliotēkā.
Kā es varu piekļūt slaidiem?
Slaidi ir nulles indeksa kolekcija, kas pieejama caur prs.getSlides():
ISlide firstSlide = prs.getSlides().get(0);
int slideCount = prs.getSlides().size();Kā pievienot otro slaidu?
Izmantojiet prs.getSlides().addEmptySlide() ar izkārtojumu:
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);
}Kā es varu iestatīt slaida fona krāsu?
Slaidu fona krāsa nav atbalstīta šajā Aspose.Slides FOSS izdevumā. getBackground() metode nav pieejama uz ISlide vai kādas citas klases šajā bibliotēkā. Slaidu fons ir fiksēts, kad prezentācija tiek izveidota no tās veidnes. Nākotnes izdevums var pievienot fona vadību.
Kā es varu izmantot NullableBool?
NullableBool ir trīsstāvokļu uzskaitījums, ko izmanto formatēšanas īpašībām. Izmantojiet NullableBool.TRUE (nevis Java true) treknrakstam, slīprakstam un līdzīgām īpašībām:
import org.aspose.slides.foss.NullableBool;
fmt.setFontBold(NullableBool.TRUE);
fmt.setFontItalic(NullableBool.FALSE);Kāpēc teksta krāsas iestatīšana neietekmē?
Jums arī jāiestata fillType uz FillType.SOLID pirms piešķiršanas krāsas:
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));Vai es varu izmantot diagrammas vai SmartArt?
Nē. Diagrammas, SmartArt, OLE objekti, animācijas, pārejas, hipersaites, VBA makro, un digitālie paraksti nav ieviesti šajā izdevumā un izraisa UnsupportedOperationException.
Vai bibliotēka ir pavediena droša?
Katrs Presentation objekts ir neatkarīgs. Atsevišķu Presentation instance izveide un izmantošana no atsevišķām pavedieniem ir droša, ja vien neizdalāt vienu Presentation objektu starp pavedieniem bez ārējās sinhronizācijas.
Kā es varu iegult attēlu?
Nolasiet attēla baitus un pievienojiet tos prs.getImages(), pēc tam izveidojiet 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);