Android'de Sunumları Aç
Giriş
Aspose.Slides for Android via Java dosyalardan ve akışlardan PowerPoint ve OpenDocument sunumlarını yükleyebilir. Bir sunum yüklendikten sonra, yapısını inceleyebilir, slaytları düzenleyebilir, kaynakları yönetebilir ve orijinal ya da başka bir desteklenen formatta kaydedebilirsiniz.
Yükleme davranışı, LoadOptions sınıfı aracılığıyla özelleştirilebilir. Örneğin, bir açma parolası sağlayabilir, büyük ikili nesneleri Java yığını hafızasının dışında tutabilir, harici kaynakları kontrol edebilir veya gömülü ikili verileri atlayabilirsiniz.
Sunumları Aç
Bir dosya veya akış yüklendikten sonra, uygulamanızın nasıl işleme alacağını seçmek için orijinal sunum formatını belirleyebilirsiniz.
Mevcut bir sunumu açmak için dosya yolunu Presentation yapıcısına geçirin. Sunumu kullandıktan sonra, dosya tanıtıcıları, geçici veriler ve diğer kaynakların hızlı bir şekilde serbest bırakılması için Dispose edin.
İlgili Java örneği, bir sunumu nasıl açacağınızı ve 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();
}
Şifreyle Korunan Sunumları Aç
Açma parolası, sunum içeriğini şifreler. Tam sunumu yüklemek için doğru parolayı LoadOptions.setPassword metoduna geçirin ve seçenekleri Presentation yapıcısına sağlayın. Parola eksik ya da hatalı 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();
}
Parola tespiti, doğrulama ve şifreleme iş akışları için Password-Protect Presentations bölümüne bakın. Şifreli bir sunum, kasıtlı olarak genel belge özellikleriyle kaydedildiyse, bu özellikler parola 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 dispose edilene kadar kilitli kalır. Bu örnek hayatta iken 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 bir akıştan 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 çağırma, değiştirme verisi sağlayabilir, bir kaynağı yönlendirebilir, varsayılan yükleyiciyi kullanabilir veya kaynağı atlayabilir. Bu, sunumların uygulamaya özgü güvenlik veya depolama kurallarına göre çözülmesi gereken harici görseller içermesi durumunda 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 Nesneler Olmadan Sunumları Yükle
Bir sunum, uygulamanın ihtiyaç duymadığı veya saklamak istemediği gömülü ikili veriler içerebilir. Örnekler:
- VBA projeleri, IPresentation.getVbaProject aracılığıyla kullanılabilir;
- gömülü OLE verileri, IOleEmbeddedDataInfo.getEmbeddedFileData aracılığıyla erişilebilir;
- ActiveX kontrol verileri, IControl.getActiveXControlBinary aracılığıyla elde edilebilir.
LoadOptions.setDeleteEmbeddedBinaryObjects seçeneğini 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üklemelere maruz kalmayı azaltır, ancak tam bir kötü amaçlı yazılım tespiti veya içerik temizlik 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ı yanlış parola hatasından ayrı şekilde ele alın, böylece uygulama nedeni doğru şekilde raporlayabilir.
Gerekli yazı tipleri eksik olursa ne olur?
Sunum yine de yüklenebilir, ancak renderleme ve dışa aktarım yazı tiplerini değiştirebilir. Çıktıyı daha öngörülebilir kılmak için yazı tipi ikamesi yapılandırması veya özel yazı tipleri sağlayın yapabilirsiniz.
Bir sunumu yüklemek aynı zamanda 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 bulunamayabilir.