Pertanyaan yang Sering Diajukan
Pertanyaan yang Sering Diajukan
Bagaimana cara saya menginstal Aspose.Slides FOSS?
Instal dari PyPI menggunakan pip. Python 3.10 atau yang lebih baru diperlukan.
pip install aspose-slides-fossVerifikasi instalasi:
import aspose.slides_foss as slides
with slides.Presentation() as prs:
print(f"Slides: {len(prs.slides)}")Dependensi lxml diinstal secara otomatis. Tidak diperlukan Microsoft Office atau runtime sistem lainnya.
Mengapa saya harus menggunakan with slides.Presentation() as prs:?
Kelas Presentation mengelola handle file internal dan sumber daya XML. Tanpa context manager, sumber daya tersebut tidak dilepaskan ketika objek Presentation keluar dari ruang lingkup, yang dapat menyebabkan kebocoran sumber daya atau penguncian file di Windows.
Selalu ikuti pola ini:
with slides.Presentation("input.pptx") as prs:
# work here
prs.save("output.pptx", SaveFormat.PPTX)Format file apa yang dapat saya simpan?
Enum SaveFormat mendefinisikan konstanta untuk banyak format — PPTX, PDF, HTML, SVG, JPEG, PNG, dan lainnya — untuk kompatibilitas API dengan edisi komersial. Pada runtime di edisi FOSS ini, semua panggilan save() mengabaikan argumen format dan selalu menulis output PPTX. Mengirimkan SaveFormat.PDF mengkompilasi dan berjalan tanpa error tetapi menghasilkan file .pptx, bukan .pdf.
from aspose.slides_foss.export import SaveFormat
prs.save("output.pptx", SaveFormat.PPTX)Ekspor ke format non-PPTX tidak tersedia secara fungsional dalam edisi ini. Gunakan SaveFormat.PPTX untuk semua operasi penyimpanan.
Bisakah saya membuka file .ppt (PowerPoint lama 97–2003)?
Tidak. Hanya file .pptx (Office Open XML) yang didukung. Format biner .ppt warisan tidak ditangani oleh perpustakaan ini.
Bagaimana cara saya mengakses slide?
Slide adalah daftar berbasis nol yang dapat diakses melalui prs.slides:
first_slide = prs.slides[0]
slide_count = len(prs.slides)Bagaimana cara menambahkan slide kedua?
Gunakan prs.slides.add_empty_slide() dengan tata letak:
with slides.Presentation() as prs:
layout = prs.layout_slides[0]
prs.slides.add_empty_slide(layout)
slide2 = prs.slides[1]
prs.save("two-slides.pptx", SaveFormat.PPTX)Bagaimana cara mengatur warna latar belakang slide?
Warna latar belakang slide tidak tersedia dalam edisi ini. Kelas Slide tidak mengekspos properti background. Mencoba slide.background akan memunculkan AttributeError. Fitur ini tidak diimplementasikan dalam versi saat ini.
Bagaimana cara saya menggunakan NullableBool?
NullableBool adalah enum tiga status yang digunakan untuk properti pemformatan. Gunakan NullableBool.TRUE (bukan True milik Python) untuk tebal, miring, dan properti serupa:
from aspose.slides_foss import NullableBool, TextUnderlineType
fmt.font_bold = NullableBool.TRUE
fmt.font_italic = NullableBool.FALSE
# font_underline is TextUnderlineType, not NullableBool:
fmt.font_underline = TextUnderlineType.NOT_DEFINED # inherits from themeMengapa mengatur warna teks tidak berpengaruh?
Anda juga harus mengatur fill_type = FillType.SOLID sebelum menetapkan warna:
from aspose.slides_foss import FillType
from aspose.slides_foss.drawing import Color
fmt.fill_format.fill_type = FillType.SOLID
fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 200, 0, 0)Apakah saya dapat menggunakan grafik atau SmartArt?
Tidak. Diagram, SmartArt, objek OLE, animasi, transisi, hyperlink, makro VBA, dan tanda tangan digital tidak diimplementasikan dalam edisi ini dan menghasilkan NotImplementedError.
Apakah perpustakaan mendukung Python 3.9?
Tidak. Python 3.10 atau yang lebih baru diperlukan.
Apakah perpustakaan ini thread-safe?
Setiap Presentation objek bersifat independen. Membuat dan menggunakan instance Presentation terpisah dari thread yang berbeda aman selama Anda tidak membagikan satu Presentation objek antar thread tanpa penguncian eksternal.
Bagaimana cara menyematkan gambar?
Baca byte gambar dan tambahkan ke prs.images, kemudian buat PictureFrame:
with open("logo.png", "rb") as f:
image_data = f.read()
image = prs.images.add_image(image_data)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image)