Prezentációk megnyitása Androidon
Bevezetés
Aspose.Slides for Android via Java képes betölteni PowerPoint és OpenDocument prezentációkat fájlokból és adatfolyamból. A prezentáció betöltése után ellenőrizheti a szerkezetét, szerkesztheti a diákot, kezelheti az erőforrásokat, és mentheti az eredeti vagy egy másik támogatott formátumban.
A betöltési viselkedés testreszabható a LoadOptions osztályon keresztül. Például megadhat egy nyitó jelszót, tartsa a nagy bináris objektumokat a Java halom memórián kívül, szabályozhatja a külső erőforrásokat, vagy kihagyhatja a beágyazott bináris adatokat.
Prezentációk megnyitása
Fájl vagy adatfolyam betöltése után meghatározhatja az eredeti prezentáció formátumát a további feldolgozási mód kiválasztásához.
Egy meglévő prezentáció megnyitásához adja át a fájl útvonalát a Presentation konstruktorának. A prezentációt használat után szabadítsa fel, hogy a fájlkezelők, ideiglenes adatok és egyéb erőforrások időben felszabaduljanak.
A következő Java példa bemutatja, hogyan lehet megnyitni egy prezentációt és lekérni a diák számát:
import com.aspose.slides.Presentation;
Presentation presentation = new Presentation("sample.pptx");
try {
System.out.println("Slide count: " + presentation.getSlides().size());
} finally {
presentation.dispose();
}
Jelszóval védett prezentációk megnyitása
A nyitó jelszó titkosítja a prezentáció tartalmát. A teljes prezentáció betöltéséhez adja át a helyes jelszót a LoadOptions.setPassword metódusnak, és adja meg a beállításokat a Presentation konstruktorának. A betöltés sikertelen, ha a jelszó hiányzik vagy helytelen.
import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;
LoadOptions loadOptions = new LoadOptions();
loadOptions.setPassword("open_password");
Presentation presentation = new Presentation("encrypted-presentation.pptx", loadOptions);
try {
System.out.println("Slide count: " + presentation.getSlides().size());
} finally {
presentation.dispose();
}
A jelszó észleléséhez, validálásához és titkosítási munkafolyamatokhoz lásd a Password-Protect Presentations cikket. Ha egy titkosított prezentációt szándékosan a nyilvános dokumentumtulajdonságokkal mentették, ezek a tulajdonságok jelszó nélkül is olvashatók; lásd a Manage Presentation Properties cikket.
Nagy prezentációk megnyitása
LoadOptions.getBlobManagementOptions visszaadja azokat a beállításokat, amelyek szabályozzák, hogyan kezeli az Aspose.Slides a bináris nagy objektumokat, mint például a képek, audio és videó. Lehet a forrásfájlt zárolt állapotban tartani, engedélyezni az ideiglenes fájlokat, és korlátozni a memóriában megtartott BLOB adatok mennyiségét.
A következő Java kód bemutatja egy nagy prezentáció (például 2 GB) betöltését:
import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;
import com.aspose.slides.PresentationLockingBehavior;
import com.aspose.slides.SaveFormat;
final String filePath = "large-presentation.pptx";
LoadOptions loadOptions = new LoadOptions();
loadOptions.getBlobManagementOptions().setPresentationLockingBehavior(PresentationLockingBehavior.KeepLocked);
loadOptions.getBlobManagementOptions().setTemporaryFilesAllowed(true);
loadOptions.getBlobManagementOptions().setMaxBlobsBytesInMemory(10 * 1024 * 1024);
Presentation presentation = new Presentation(filePath, loadOptions);
try {
presentation.getSlides().get_Item(0).setName("Large presentation");
presentation.save("large-presentation-copy.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Note
A PresentationLockingBehavior.KeepLocked használatával a forrásfájl zárolva marad, amíg a prezentáció példány nem szabadul fel. Ne mozgassa, írja felül vagy törölje a forrásfájlt, amíg az a példány él.
Az Aspose.Slides a betöltés során másolhatja a bemeneti adatfolyam tartalmát. Nagy prezentációk esetén a fájl útvonal általában hatékonyabb, mint egy adatfolyam. További tárolási és memória‑kezelési lehetőségekért lásd a Manage BLOBs oldalt.
Külső erőforrások vezérlése
LoadOptions.setResourceLoadingCallback egy IResourceLoadingCallback implementációt fogad el. A visszahívás képes helyettesítő adatot biztosítani, egy erőforrást átirányítani, az alapértelmezett betöltőt használni, vagy kihagyni az erőforrást. Ez akkor hasznos, ha a prezentációk külső képeket tartalmaznak, amelyeket az alkalmazás‑specifikus biztonsági vagy tárolási szabályok szerint kell feloldani.
import com.aspose.slides.IResourceLoadingArgs;
import com.aspose.slides.IResourceLoadingCallback;
import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;
import com.aspose.slides.ResourceLoadingAction;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Locale;
class ImageLoadingHandler implements IResourceLoadingCallback {
public int resourceLoading(IResourceLoadingArgs args) {
boolean isJpeg = args.getOriginalUri().toLowerCase(Locale.ROOT).endsWith(".jpg");
Path approvedImagePath = Paths.get("approved-image.jpg");
if (!isJpeg || !Files.exists(approvedImagePath)) {
return ResourceLoadingAction.Skip;
}
try {
byte[] imageData = Files.readAllBytes(approvedImagePath);
args.setData(imageData);
return ResourceLoadingAction.UserProvided;
} catch (IOException exception) {
System.err.println("The approved replacement image could not be read.");
return ResourceLoadingAction.Skip;
}
}
}
LoadOptions loadOptions = new LoadOptions();
loadOptions.setResourceLoadingCallback(new ImageLoadingHandler());
Presentation presentation = new Presentation("presentation-with-external-images.pptx", loadOptions);
try {
System.out.println("Slide count: " + presentation.getSlides().size());
} finally {
presentation.dispose();
}
Prezentációk betöltése beágyazott bináris objektumok nélkül
Egy prezentáció tartalmazhat beágyazott bináris adatokat, amelyekre egy alkalmazásnak nincs szüksége vagy nem kívánja megtartani őket.
- VBA projektek, amelyek a IPresentation.getVbaProject segítségével érhetők el;
- beágyazott OLE adatok, amelyek a IOleEmbeddedDataInfo.getEmbeddedFileData segítségével érhetők el;
- ActiveX vezérlő adatok, amelyek a IControl.getActiveXControlBinary segítségével érhetők el.
Állítsa a LoadOptions.setDeleteEmbeddedBinaryObjects értékét true‑ra a betöltés során ezeknek a bináris adatoknak az eltávolításához. Mentse el a betöltött prezentációt a tisztított eredmény megőrzéséhez.
Ez a beállítás csökkenti a nem kívánt beágyazott terhek kitettségét, de nem egy teljes rosszindulatú szoftver‑detektáló vagy tartalom‑tisztító rendszer.
import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
LoadOptions loadOptions = new LoadOptions();
loadOptions.setDeleteEmbeddedBinaryObjects(true);
Presentation presentation = new Presentation("presentation-with-embedded-data.pptx", loadOptions);
try {
presentation.save("presentation-without-embedded-data.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
GYIK
Hogyan tudhatom meg, hogy egy fájl megsérült és nem nyitható meg?
Az Aspose.Slides betöltés közben parsing vagy formátum kivételt dob. Kezelje ezt a hibát külön a helytelen jelszó hibától, hogy az alkalmazás pontosan jelentse a okot.
Mi történik, ha a szükséges betűtípusok hiányoznak?
A prezentáció továbbra is betölthető, de a megjelenítés és export esetleg betűtípus helyettesítést alkalmaz. Beállíthatja a configure font substitution konfigurálását vagy provide custom fonts biztosíthatja, hogy az eredmény kiszámíthatóbb legyen.
Betölti a prezentáció a beágyazott médiát is?
A beágyazott audio és videó elérhetővé válik a prezentáció objektummodelljén keresztül. A külső erőforrások a beállított erőforrásbetöltési viselkedés szerint kerülnek feloldásra, és előfordulhat, hogy nem érhetők el, ha a helyeik nem hozzáférhetők.