Fitur dan Kemampuan
Fitur dan Kemampuan
Aspose.Slides FOSS for Python provides a broad set of capabilities for working with PowerPoint .pptx file secara programatik. Halaman ini mencantumkan semua area fitur yang didukung dengan contoh kode representatif.
I/O Presentasi
Buka yang ada .pptx file atau buat yang baru, lalu simpan kembali ke format PPTX.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
# Open an existing presentation
with slides.Presentation("input.pptx") as prs:
print(f"Slide count: {len(prs.slides)}")
prs.save("output.pptx", SaveFormat.PPTX)
# Create a new presentation (starts with one blank slide)
with slides.Presentation() as prs:
prs.save("new.pptx", SaveFormat.PPTX)Catatan: PPTX adalah satu-satunya format penyimpanan yang didukung. Ekspor ke PDF, HTML, SVG, atau gambar tidak tersedia.
Bagian XML yang tidak dikenal dalam file sumber dipertahankan persis saat disimpan, sehingga membuka dan menyimpan kembali sebuah .pptx tidak akan pernah menghapus konten yang belum dipahami oleh perpustakaan.
Manajemen Slide
Tambah, hapus, kloning, dan urutkan kembali slide.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
# Access the first slide
slide = prs.slides[0]
# Add an additional blank slide at the end
prs.slides.add_empty_slide(prs.layout_slides[0])
print(f"Total slides: {len(prs.slides)}")
prs.save("multi-slide.pptx", SaveFormat.PPTX)Bentuk
Tambahkan AutoShapes, PictureFrames, Tabel, dan Connectors ke sebuah slide.
AutoShapes
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
# Add a rectangle at (x=50, y=50) with width=300, height=100
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 100)
shape.add_text_frame("Aspose.Slides FOSS")
prs.save("shapes.pptx", SaveFormat.PPTX)Tabel
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
# Column widths and row heights in points
col_widths = [120.0, 120.0, 120.0]
row_heights = [40.0, 40.0, 40.0]
table = slide.shapes.add_table(50, 50, col_widths, row_heights)
table.rows[0][0].text_frame.text = "Product"
table.rows[0][1].text_frame.text = "Quantity"
table.rows[0][2].text_frame.text = "Price"
prs.save("table.pptx", SaveFormat.PPTX)Connectors
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
box1 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 100, 150, 60)
box2 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 350, 100, 150, 60)
conn = slide.shapes.add_connector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10)
conn.start_shape_connected_to = box1
conn.start_shape_connection_site_index = 3 # right side
conn.end_shape_connected_to = box2
conn.end_shape_connection_site_index = 1 # left side
prs.save("connector.pptx", SaveFormat.PPTX)Pemformatan Teks
Format teks pada tingkat paragraf dan karakter menggunakan PortionFormat.
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, NullableBool, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
tf = shape.add_text_frame("Bold blue heading")
fmt = tf.paragraphs[0].portions[0].portion_format
fmt.font_height = 28
fmt.font_bold = NullableBool.TRUE
fmt.fill_format.fill_type = FillType.SOLID
fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 70, 127)
prs.save("text.pptx", SaveFormat.PPTX)NullableBool.TRUE menetapkan properti secara eksplisit; NullableBool.NOT_DEFINED mewarisi dari master slide.
Jenis Isian
Terapkan isian padat, gradasi, pola, atau gambar pada bentuk.
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 150)
# Solid fill
shape.fill_format.fill_type = FillType.SOLID
shape.fill_format.solid_fill_color.color = Color.from_argb(255, 30, 120, 200)
prs.save("fill.pptx", SaveFormat.PPTX)Efek Visual
Terapkan bayangan luar, cahaya bersinar, tepi lembut, blur, refleksi, dan bayangan dalam pada bentuk.
Properti efek dapat diakses melalui shape.effect_format. Atur outer_shadow_effect, glow_effect, soft_edge_effect, blur_effect, reflection_effect, atau inner_shadow_effect untuk mengonfigurasi masing-masing secara terpisah.
3D Formatting
Terapkan bevel 3D, kamera, rig cahaya, material, dan kedalaman ekstrusi melalui shape.three_d_format. Ini mengontrol kedalaman visual dan model pencahayaan untuk perenderan bentuk dalam penampil PPTX yang mendukung efek 3D.
Catatan Pembicara
Lampirkan catatan ke slide mana pun menggunakan notes_slide_manager.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
notes = prs.slides[0].notes_slide_manager.add_notes_slide()
notes.notes_text_frame.text = "Key talking point: emphasize the ROI benefit."
prs.save("notes.pptx", SaveFormat.PPTX)Komentar
Tambahkan komentar berutas dengan informasi penulis dan posisi slide.
import aspose.slides_foss as slides
from aspose.slides_foss.drawing import PointF
from aspose.slides_foss.export import SaveFormat
from datetime import datetime
with slides.Presentation() as prs:
author = prs.comment_authors.add_author("Jane Smith", "JS")
slide = prs.slides[0]
author.comments.add_comment(
"Please verify this data before the presentation.",
slide,
PointF(2.0, 2.0),
datetime.now()
)
prs.save("comments.pptx", SaveFormat.PPTX)Gambar Tersemat
Sematkan gambar dari jalur file ke dalam presentasi dan tambahkan ke slide sebagai PictureFrame.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
with open("logo.png", "rb") as f:
image_data = f.read()
image = prs.images.add_image(image_data)
slide = prs.slides[0]
slide.shapes.add_picture_frame(
slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image
)
prs.save("with-image.pptx", SaveFormat.PPTX)Properti Dokumen
Baca dan tulis properti dokumen inti, aplikasi, dan khusus.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
props = prs.document_properties
# Core properties
props.title = "Q1 Results"
props.author = "Finance Team"
props.subject = "Quarterly Review"
props.keywords = "Q1, finance, results"
# Custom property
props.set_custom_property_value("ReviewedBy", "Legal Team")
prs.save("deck.pptx", SaveFormat.PPTX)Keterbatasan yang Diketahui
Area berikut menimbulkan NotImplementedError dan tidak tersedia dalam edisi ini:
| Area | Status |
|---|---|
| Diagram | Belum diimplementasikan |
| SmartArt | Belum diimplementasikan |
| Animasi dan transisi | Belum diimplementasikan |
| Ekspor PDF / HTML / SVG / gambar | Belum diimplementasikan (hanya PPTX) |
| Makro VBA | Belum diimplementasikan |
| Tanda tangan digital | Belum diimplementasikan |
| Tautan hiper dan pengaturan aksi | Belum diimplementasikan |
| Objek OLE | Tidak diimplementasikan |
| Teks matematika | Tidak diimplementasikan |
Lihat Juga
- Memulai: Instalasi dan skrip pertama
- Referensi API: Referensi kelas dan metode
- Panduan Cara: Artikel berorientasi tugas