Fitur dan Kemampuan
Fitur dan Kemampuan
Aspose.Slides FOSS for Python menyediakan serangkaian kemampuan luas untuk bekerja dengan file PowerPoint .pptx secara programatik. Halaman ini mencantumkan semua area fitur yang didukung dengan contoh kode representatif.
Presentasi I/O
Buka file .pptx yang ada 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 secara verbatim saat disimpan, sehingga membuka dan menyimpan kembali sebuah .pptx tidak akan pernah menghapus konten yang belum dipahami oleh perpustakaan.
Manajemen Slide
Tambah, hapus, klon, dan urutkan ulang 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, Tables, dan Connectors ke 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)Konektor
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 mengatur properti secara eksplisit; NullableBool.NOT_DEFINED mewarisi dari master slide.
Tipe Pengisian
Terapkan isian solid, 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, kabur, 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 independen.
Pemformatan 3D
Terapkan bevel 3D, kamera, rig cahaya, material, dan kedalaman ekstrusi melalui shape.three_d_format. Ini mengontrol kedalaman visual dan model pencahayaan untuk rendering bentuk di 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 berulir 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 Tertanam
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 kustom.
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 memunculkan NotImplementedError dan tidak tersedia dalam edisi ini:
| Area | Status |
|---|---|
| Diagram | Tidak diimplementasikan |
| SmartArt | Tidak diimplementasikan |
| Animasi dan transisi | Tidak diimplementasikan |
| Ekspor PDF / HTML / SVG / gambar | Tidak diimplementasikan (hanya PPTX) |
| Makro VBA | Tidak diimplementasikan |
| Tanda tangan digital | Tidak diimplementasikan |
| Tautan hiper dan pengaturan aksi | Tidak 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