Prezentációk megnyitása Java-ban

Bevezetés

Aspose.Slides for Java képes PowerPoint és OpenDocument prezentációkat betölteni fájlokból és adatfolyamokból. Miután egy prezentáció betöltésre került, ellenőrizheted a felépítését, szerkesztheted a diákat, kezelheted az erőforrásokat, és mentheted az eredeti vagy egy másik támogatott formátumban.

A betöltési viselkedés testreszabható a LoadOptions osztály segítségével. Például megadhatsz egy nyitó jelszót, a nagy bináris objektumokat a Java halom memóriáján kívül tarthatod, szabályozhatod a külső erőforrásokat, vagy kihagyhatod a beágyazott bináris adatokat.

Prezentációk megnyitása

Egy meglévő prezentáció megnyitásához add át a fájl útvonalát a Presentation konstruktorának. Használat után szabadítsd fel a prezentációt, hogy a fájlkezelők, ideiglenes adatok és egyéb erőforrások gyorsan felszabaduljanak.

Az alábbi Java példa bemutatja, hogyan nyithatsz meg egy prezentációt és szerezheted meg 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 add át a helyes jelszót a LoadOptions.setPassword metódusnak, és add 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ófelismeréssel, -ellenőrzéssel és titkosítási munkafolyamatokkal kapcsolatban lásd a Password-Protect Presentations oldalt. Ha egy titkosított prezentációt szándékosan nyilvános dokumentumtulajdonságokkal mentették, ezek a tulajdonságok jelszó nélkül is olvashatók; lásd a Manage Presentation Properties oldalt.

Nagy prezentációk megnyitása

A LoadOptions.getBlobManagementOptions visszaadja azokat a beállításokat, amelyek szabályozzák, hogyan kezeli az Aspose.Slides a bináris nagy objektumokat, például képeket, hangot és videót. A forrásfájlt lezárhatod, engedélyezheted az ideiglenes fájlokat, és korlátozhatod a memóriában megtartott BLOB adatok mennyiségét.

Az alábbi Java kód bemutatja egy nagy prezentáció betöltését (például 2 GB):

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

Külső erőforrások vezérlése

A LoadOptions.setResourceLoadingCallback egy IResourceLoadingCallback implementációt fogad el. A visszahívás biztosíthat helyettesítő adatot, átirányíthat egy erőforrást, használhatja az alapértelmezett betöltőt, vagy kihagyhatja 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, amelyeket az alkalmazás nem igényel vagy nem akar megőrizni. Példák:

Állítsd a LoadOptions.setDeleteEmbeddedBinaryObjects értékét true-ra, hogy a betöltés során eltávolítsd ezeket a bináris adatokat. Mentsd el a betöltött prezentációt, hogy megőrizd a tisztított eredményt.

Ez a beállítás csökkenti a nem kívánt beágyazott terhek kitettségét, de nem jelent teljes víruskereső vagy tartalomszűrő rendszert.

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 tudom megállapítani, hogy egy fájl sérült és nem nyitható meg?

Az Aspose.Slides a betöltés során elemzési vagy formátumkivételt dob. Kezeld ezt a hibát külön a helytelen jelszó hibától, hogy az alkalmazás pontosan jelenteni tudja 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álás esetén a rendszer helyettesítő betűtípusokat használhat. A kimenet előrejelezhetőségének javításához a betűtípus-helyettesítés konfigurálása vagy az egyedi betűtípusok biztosítása lehetőségeket veheted igénybe.

Betölti-e a prezentáció a beágyazott médiát is?

A beágyazott hang és videó a prezentáció objektummodelljén keresztül lesz elérhető. A külső erőforrások a konfigurált erőforrásbetöltési viselkedés alapján kerülnek feloldásra, és előfordulhat, hogy nem elérhetők, ha azok helyei nem hozzáférhetők.