Android'de Sunumları Aç
Giriş
Aspose.Slides for Android via Java PowerPoint ve OpenDocument sunumlarını dosyalardan ve akışlardan yükleyebilir. Bir sunum yüklendikten sonra, yapısını inceleyebilir, slaytları düzenleyebilir, kaynakları yönetebilir ve orijinal ya da başka desteklenen bir formatta kaydedebilirsiniz.
Yükleme davranışı, LoadOptions sınıfı aracılığıyla özelleştirilebilir. Örneğin, bir açma şifresi sağlayabilir, büyük ikili nesneleri Java yığın belleğinin dışında tutabilir, harici kaynakları kontrol edebilir veya gömülü ikili verileri atlayabilirsiniz.
Sunumları Aç
Mevcut bir sunumu açmak için dosya yolunu Presentation yapıcısına iletin. Sunumu kullandıktan sonra serbest bırakın, böylece dosya tutamaçları, geçici veriler ve diğer kaynaklar hemen serbest bırakılır.
Aşağıdaki Java örneği, bir sunumu nasıl açıp slayt sayısını nasıl alacağınızı gösterir:
import com.aspose.slides.Presentation;
Presentation presentation = new Presentation("sample.pptx");
try {
System.out.println("Slide count: " + presentation.getSlides().size());
} finally {
presentation.dispose();
}
Şifre Koruması Olan Sunumları Aç
Bir açma şifresi, sunum içeriğini şifreler. Tam sunumu yüklemek için doğru şifreyi LoadOptions.setPassword metoduna iletin ve seçenekleri Presentation yapıcısına sağlayın. Şifre eksik veya yanlış olduğunda yükleme başarısız olur.
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();
}
Şifre tespiti, doğrulama ve şifreleme iş akışları için, Password-Protect Presentations bölümüne bakın. Şifrelenmiş bir sunum, özellikle genel belge özellikleriyle kaydedilmişse, bu özellikler şifre olmadan okunabilir; Manage Presentation Properties bölümüne bakın.
Büyük Sunumları Aç
LoadOptions.getBlobManagementOptions Aspose.Slides’in görüntüler, ses ve video gibi büyük ikili nesneleri nasıl yönettiğini kontrol eden seçenekleri döndürür. Kaynak dosyayı kilitli tutabilir, geçici dosyalara izin verebilir ve bellekte tutulan BLOB veri miktarını sınırlayabilirsiniz.
Aşağıdaki Java kodu, büyük bir sunumu (örneğin 2 GB) yüklemeyi gösterir:
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
PresentationLockingBehavior.KeepLocked ile kaynak dosya, sunum örneği serbest bırakılana kadar kilitli kalır. Bu örnek hâlen mevcutken kaynak dosyayı taşımayın, üzerine yazmayın veya silmeyin.
Aspose.Slides, yükleme sırasında bir giriş akışının içeriğini kopyalayabilir. Büyük sunumlar için dosya yolu, genellikle akışa göre daha verimlidir. Ek depolama ve bellek yönetimi seçenekleri için Manage BLOBs bölümüne bakın.
Harici Kaynakları Kontrol Et
LoadOptions.setResourceLoadingCallback bir IResourceLoadingCallback uygulamasını kabul eder. Geri arama, yedek veri sağlayabilir, bir kaynağı yönlendirebilir, varsayılan yükleyiciyi kullanabilir veya kaynağı atlayabilir. Bu, sunumlarda uygulamaya özgü güvenlik veya depolama kurallarına göre çözülmesi gereken harici görüntüler bulunduğunda kullanışlıdır.
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();
}
Gömülü İkili Nesneleri Olmadan Sunumları Yükle
Bir sunum, uygulamanın ihtiyaç duymadığı veya tutmak istemediği gömülü ikili veriler içerebilir. Örnekler:
- VBA projeleri, IPresentation.getVbaProject aracılığıyla mevcuttur;
- gömülü OLE verileri, IOleEmbeddedDataInfo.getEmbeddedFileData aracılığıyla mevcuttur;
- ActiveX kontrol verileri, IControl.getActiveXControlBinary aracılığıyla mevcuttur.
LoadOptions.setDeleteEmbeddedBinaryObjects true olarak ayarlayarak bu ikili verileri yükleme sırasında kaldırabilirsiniz. Temizlenmiş sonucu kalıcı kılmak için yüklenen sunumu kaydedin.
Bu seçenek, istenmeyen gömülü yüklerden korunmayı azaltır, ancak tam bir kötü amaçlı yazılım tespiti veya içerik temizleme sistemi değildir.
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();
}
SSS
Bir dosyanın bozuk olduğunu ve açılamadığını nasıl anlayabilirim?
Aspose.Slides, yükleme sırasında bir ayrıştırma veya format istisnası fırlatır. Bu hatayı, hatalı şifre hatasından ayrı şekilde ele alarak uygulamanın nedeni doğru şekilde raporlamasını sağlayabilirsiniz.
Gerekli yazı tipleri eksikse ne olur?
Sunum yine de yüklenebilir, ancak renderleme ve dışa aktarma sırasında yazı tipleri ikame edilebilir. Çıktıyı daha öngörülebilir hâle getirmek için configure font substitution ya da provide custom fonts seçeneklerini kullanabilirsiniz.
Bir sunumu yüklemek, gömülü medyasını da yükler mi?
Gömülü ses ve video, sunum nesne modeli aracılığıyla kullanılabilir hâle gelir. Harici kaynaklar, yapılandırılmış kaynak‑yükleme davranışına göre çözülür ve konumlarına erişilemezse kullanılamaz olabilir.