Android'de Sunumları Aç

Giriş

Sıfırdan PowerPoint sunumları oluşturmanın ötesinde, Aspose.Slides ayrıca mevcut sunumları açmanıza olanak tanır. Bir sunumu yükledikten sonra, onun hakkında bilgi alabilir, slayt içeriğini düzenleyebilir, yeni slaytlar ekleyebilir, mevcut slaytları kaldırabilir ve daha fazlasını yapabilirsiniz.

Sunumları Aç

Mevcut bir sunumu açmak için, Presentation sınıfının bir örneğini oluşturun ve dosya yolunu yapıcıya geçirin.

Aşağıdaki Java örneği, bir sunumu nasıl açıp slayt sayısını alacağınızı gösterir:

// Presentation sınıfını örnekleyin ve yapıcıya bir dosya yolu geçirin.
Presentation presentation = new Presentation("Sample.pptx");
try {
    // Sunumdaki toplam slayt sayısını yazdırın.
    System.out.println(presentation.getSlides().size());
} finally {
    presentation.dispose();
}

Şifre Koruması Olan Sunumları Aç

Şifre korumalı bir sunumu açmanız gerektiğinde, şifreyi LoadOptions sınıfının setPassword yöntemiyle geçirerek çözüp yükleyebilirsiniz. Aşağıdaki Java kodu bu işlemi göstermektedir:

LoadOptions loadOptions = new LoadOptions();
loadOptions.setPassword("YOUR_PASSWORD");

Presentation presentation = new Presentation("Sample.pptx", loadOptions);
try {
    // Şifreli sunum üzerinde işlemler gerçekleştirin.
} finally {
    presentation.dispose();
}

Büyük Sunumları Aç

Aspose.Slides, özellikle LoadOptions sınıfındaki getBlobManagementOptions yöntemi gibi seçenekler sunarak büyük sunumları yüklemenize yardımcı olur.

Aşağıdaki Java kodu, büyük bir sunumu (örneğin 2 GB) yüklemeyi göstermektedir:

final String filePath = "LargePresentation.pptx";

LoadOptions loadOptions = new LoadOptions();
// KeepLocked davranışını seçin—sunum dosyası ömrü boyunca kilitli kalır
// Presentation örneği, ancak belleğe yüklenmesi veya geçici bir dosyaya kopyalanması gerekmez.
loadOptions.getBlobManagementOptions().setPresentationLockingBehavior(PresentationLockingBehavior.KeepLocked);
loadOptions.getBlobManagementOptions().setTemporaryFilesAllowed(true);
loadOptions.getBlobManagementOptions().setMaxBlobsBytesInMemory(10 * 1024 * 1024); // 10 MB

Presentation presentation = new Presentation(filePath, loadOptions);
try {
    // Büyük sunum yüklendi ve kullanılabilir, bellek tüketimi düşük kalır.

    // Sunumu değiştirin.
    presentation.getSlides().get_Item(0).setName("Large presentation");

    // Sunumu başka bir dosyaya kaydedin. Bu işlem sırasında bellek tüketimi düşük kalır.
    presentation.save("LargePresentation-copy.pptx", SaveFormat.Pptx);

    // Bunu yapmayın! Dosya, sunum nesnesi serbest bırakılana kadar kilitli olduğu için bir I/O istisnası fırlatılacaktır.
    //Files.delete(Paths.get(filePath));
} finally {
    presentation.dispose();
}

// Burada yapmak sorun değil. Kaynak dosya artık sunum nesnesi tarafından kilitlenmemektedir.
Files.delete(Paths.get(filePath));

Harici Kaynakları Kontrol Et

Aspose.Slides, harici kaynakları yönetmenizi sağlayan IResourceLoadingCallback arayüzünü sunar. Aşağıdaki Java kodu, IResourceLoadingCallback arayüzünün nasıl kullanılacağını gösterir:

LoadOptions loadOptions = new LoadOptions();
loadOptions.setResourceLoadingCallback(new ImageLoadingHandler());

Presentation presentation = new Presentation("Sample.pptx", loadOptions);
class ImageLoadingHandler implements IResourceLoadingCallback {
    public int resourceLoading(IResourceLoadingArgs args) {
        if (args.getOriginalUri().endsWith(".jpg")) {
            try {
                // Bir yedek resim yükle.
                byte[] imageData = getImageBytes("aspose-logo.jpg"); // Baytları elde etmek için herhangi bir yöntem kullanın
                args.setData(imageData);
                return ResourceLoadingAction.UserProvided;
            } catch (RuntimeException ex) {
                return ResourceLoadingAction.Skip;
            }  catch (IOException ex) {
                ex.printStackTrace();
            }
        } else if (args.getOriginalUri().endsWith(".png")) {
            // Bir yedek URL ayarla.
            args.setUri("http://www.google.com/images/logos/ps_logo2.png");
            return ResourceLoadingAction.Default;
        }
        // Diğer tüm resimleri atla.
        return ResourceLoadingAction.Skip;
    }
}

Gömülü İkili Nesneler Olmadan Sunumları Yükle

Bir PowerPoint sunumu aşağıdaki türlerde gömülü ikili nesneler içerebilir:

ILoadOptions.setDeleteEmbeddedBinaryObjects yöntemini kullanarak, bir sunumu gömülü ikili nesneler olmadan yükleyebilirsiniz.

Bu yöntem, potansiyel olarak zararlı ikili içeriği kaldırmak için kullanışlıdır. Aşağıdaki Java kodu, bir sunumu gömülü ikili içerik olmadan nasıl yükleyeceğinizi gösterir:

LoadOptions loadOptions = new LoadOptions();
loadOptions.setDeleteEmbeddedBinaryObjects(true);

Presentation presentation = new Presentation("malware.ppt", loadOptions);
try {
    // Sunum üzerinde işlemler gerçekleştirin.
} finally {
    presentation.dispose();
}

SSS

Bir dosyanın bozuk olduğunu ve açılamadığını nasıl anlayabilirim?

Yükleme sırasında bir ayrıştırma/form doğrulama istisnası alırsınız. Bu hatalar genellikle geçersiz bir ZIP yapısı veya bozuk PowerPoint kayıtlarını belirtir.

Açarken gerekli yazı tipleri eksikse ne olur?

Dosya açılacaktır, ancak daha sonra rendering/export yazı tiplerini değiştirebilir. Çalışma zamanına Configure font substitutions veya add the required fonts ekleyin.

Açarken gömülü medya (video/ses) ne olur?

Bunlar sunum kaynakları olarak kullanılabilir hale gelir. Medya dış yollarla referans gösteriliyorsa, bu yolların ortamınızda erişilebilir olduğundan emin olun; aksi takdirde rendering/export medya atlanabilir.