Membuka Presentasi di Python
Pendahuluan
Aspose.Slides for Python via .NET dapat memuat presentasi PowerPoint dan OpenDocument dari file dan aliran. Setelah presentasi dimuat, Anda dapat memeriksa strukturnya, mengedit slide, mengelola sumber daya, dan menyimpannya dalam format asli atau format lain yang didukung.
Perilaku pemuatan dapat disesuaikan melalui kelas LoadOptions. Misalnya, Anda dapat menyediakan kata sandi pembukaan, menyimpan objek biner besar di luar memori, atau mengabaikan data biner tersemat.
Buka Presentasi
Setelah memuat file atau aliran, Anda dapat menentukan format presentasi aslinya untuk memilih bagaimana aplikasi Anda memprosesnya.
Untuk membuka presentasi yang ada, berikan jalur file ke konstruktor Presentation. Gunakan pernyataan with sehingga pegangan file, data sementara, dan sumber daya lainnya segera dilepaskan.
Contoh Python berikut menunjukkan cara membuka presentasi dan mendapatkan jumlah slide:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
print("Slide count: " + str(len(presentation.slides)))
Buka Presentasi yang Dilindungi Kata Sandi
Kata sandi pembukaan mengenkripsi konten presentasi. Untuk memuat presentasi lengkap, tetapkan kata sandi yang benar ke LoadOptions.password dan berikan opsi tersebut ke konstruktor Presentation. Pemuatan gagal ketika kata sandi tidak ada atau salah.
import aspose.slides as slides
load_options = slides.LoadOptions()
load_options.password = "open_password"
with slides.Presentation("encrypted-presentation.pptx", load_options) as presentation:
print("Slide count: " + str(len(presentation.slides)))
Untuk deteksi kata sandi, validasi, dan alur kerja enkripsi, lihat Password-Protect Presentations. Jika presentasi terenkripsi sengaja disimpan dengan properti dokumen publik, properti tersebut dapat dibaca tanpa kata sandi; lihat Manage Presentation Properties.
Buka Presentasi Besar
LoadOptions.blob_management_options mengontrol cara Aspose.Slides menangani objek biner besar seperti gambar, audio, dan video. Anda dapat menjaga file sumber terkunci, mengizinkan file sementara, dan membatasi jumlah data BLOB yang dipertahankan dalam memori.
Kode Python ini menunjukkan cara memuat presentasi besar (misalnya, 2 GB):
import aspose.slides as slides
file_path = "large-presentation.pptx"
load_options = slides.LoadOptions()
load_options.blob_management_options.presentation_locking_behavior = slides.PresentationLockingBehavior.KEEP_LOCKED
load_options.blob_management_options.is_temporary_files_allowed = True
load_options.blob_management_options.max_blobs_bytes_in_memory = 10 * 1024 * 1024
with slides.Presentation(file_path, load_options) as presentation:
presentation.slides[0].name = "Large presentation"
presentation.save("large-presentation-copy.pptx", slides.export.SaveFormat.PPTX)
Note
Dengan PresentationLockingBehavior.KEEP_LOCKED, file sumber tetap terkunci sampai objek Presentation dibuang. Jangan memindahkan, menimpa, atau menghapus file sumber selama objek tersebut masih hidup.
Aspose.Slides mungkin menyalin isi aliran input saat memuatnya. Untuk presentasi besar, jalur file biasanya lebih efisien daripada aliran. Lihat Manage BLOBs untuk opsi penyimpanan dan manajemen memori tambahan.
Muat Presentasi tanpa Objek Biner Tertanam
Sebuah presentasi mungkin berisi data biner tertanam yang tidak diperlukan atau tidak ingin dipertahankan oleh aplikasi. Contohnya meliputi:
- proyek VBA, tersedia melalui Presentation.vba_project;
- data OLE tertanam, tersedia melalui OleEmbeddedDataInfo.embedded_file_data;
- data kontrol ActiveX, tersedia melalui Control.active_x_control_binary.
Atur LoadOptions.delete_embedded_binary_objects ke True untuk menghapus data biner ini saat memuat. Simpan presentasi yang dimuat untuk mempertahankan hasil yang disanitasi.
Opsi ini mengurangi paparan terhadap payload tertanam yang tidak diinginkan, tetapi bukan sistem deteksi malware atau sanitasi konten yang lengkap.
import aspose.slides as slides
load_options = slides.LoadOptions()
load_options.delete_embedded_binary_objects = True
with slides.Presentation("presentation-with-embedded-data.pptx", load_options) as presentation:
presentation.save("presentation-without-embedded-data.pptx", slides.export.SaveFormat.PPTX)
FAQ
Bagaimana saya dapat mengetahui bahwa file rusak dan tidak dapat dibuka?
Aspose.Slides mengeluarkan pengecualian parsing atau format selama proses pemuatan. Tangani kegagalan tersebut secara terpisah dari kesalahan kata sandi yang salah sehingga aplikasi dapat melaporkan penyebabnya dengan akurat.
Apa yang terjadi jika font yang diperlukan hilang?
Presentasi masih dapat dimuat, tetapi perenderan dan ekspor mungkin menggantikan font. Anda dapat configure font substitution atau provide custom fonts untuk membuat output lebih dapat diprediksi.
Apakah memuat sebuah presentasi juga memuat media tertanamnya?
Audio dan video yang tertanam menjadi tersedia melalui model objek presentasi. Sumber daya eksternal diselesaikan sesuai dengan perilaku pemuatan sumber daya default dan mungkin tidak tersedia jika lokasinya tidak dapat diakses.