Optimalkan Manajemen Gambar di PowerPoint dengan Python
Pendahuluan
Gambar membuat presentasi lebih menarik dan hidup. Di Microsoft PowerPoint, Anda dapat menyisipkan foto dari file, internet, atau sumber lain ke slide. Demikian pula, Aspose.Slides memungkinkan Anda menambahkan gambar ke slide dengan beberapa cara.
Tip
Aspose menyediakan konverter gratis—JPEG to PowerPoint dan PNG to PowerPoint—yang memungkinkan Anda dengan cepat membuat presentasi dari gambar.Info
Jika Anda ingin menambahkan gambar sebagai objek frame—terutama jika Anda berencana menggunakan opsi pemformatan standar seperti mengubah ukuran atau menerapkan efek—lihat Add Picture Frames to Presentations with Python.Note
Anda dapat menggunakan operasi I/O gambar dan presentasi untuk mengonversi gambar antar format. Lihat halaman ini: mengonversi image to JPG; mengonversi JPG to image; mengonversi JPG to PNG; mengonversi PNG to JPG; mengonversi PNG to SVG; dan mengonversi SVG to PNG.Aspose.Slides mendukung penggunaan gambar dalam format populer seperti JPEG, PNG, BMP, GIF, dan lainnya.
Menambahkan Gambar yang Disimpan Secara Lokal ke Slide
Anda dapat menambahkan satu atau beberapa gambar dari komputer ke slide dalam sebuah presentasi. Contoh Python berikut menunjukkan cara menambahkan gambar ke slide:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
with open("image.jpeg", "rb") as image_stream:
image = presentation.images.add_image(image_stream)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10, 10, 100, 100, image)
presentation.save("presentation_with_image.pptx", slides.export.SaveFormat.PPTX)
Menambahkan Gambar dari Web ke Slide
Jika gambar yang ingin Anda tambahkan ke slide tidak tersedia di komputer, Anda dapat menyisipkannya langsung dari web.
Contoh Python berikut menunjukkan cara menambahkan gambar dari URL ke slide:
import aspose.slides as slides
import urllib2
import base64
with slides.Presentation() as presentation:
slide = presentation.slides[0]
image_data = base64.b64encode(urllib2.urlopen("[REPLACE WITH URL]").read())
image = presentation.images.add_image(image_data)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10, 10, 100, 100, image)
presentation.save("presentation.pptx", slides.export.SaveFormat.PPTX)
Menambahkan Gambar ke Slide Master
Slide master adalah slide tingkat atas yang menyimpan dan mengontrol informasi—tema, tata letak, dan sebagainya—untuk semua slide di bawahnya. Ketika Anda menambahkan gambar ke slide master, gambar tersebut muncul pada setiap slide yang menggunakan master tersebut.
Contoh Python berikut menunjukkan cara menambahkan gambar ke slide master:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
master_slide = slide.layout_slide.master_slide
with open("image.jpeg", "rb") as image_stream:
image = presentation.images.add_image(image_stream)
master_slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10, 10, 100, 100, image)
presentation.save("master_with_image.pptx", slides.export.SaveFormat.PPTX)
Menetapkan Gambar sebagai Latar Belakang Slide
Anda mungkin ingin menggunakan gambar sebagai latar belakang untuk satu slide tertentu atau beberapa slide. Untuk detailnya, lihat Set an Image as the Background for a Slide.
Menambahkan SVG ke Presentasi
Anda dapat menyisipkan gambar apa pun ke presentasi menggunakan metode add_picture_frame dari kelas ShapeCollection.
Untuk membuat objek gambar dari SVG, ikuti langkah berikut:
- Buat sebuah SvgImage dan tambahkan ke koleksi gambar presentasi.
- Buat objek PPImage dari SvgImage.
- Buat objek PictureFrame menggunakan PPImage.
Contoh Python berikut menunjukkan cara menambahkan gambar SVG ke presentasi menggunakan langkah-langkah tersebut:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Baca konten file SVG.
with open("sample.svg", "rt") as image_stream:
svg_content = image_stream.read()
# Buat objek SvgImage.
svg_image = slides.SvgImage(svg_content)
# Buat objek PPImage.
pp_image = presentation.images.add_image(svg_image)
# Buat PictureFrame baru.
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 200, 100, pp_image.width, pp_image.height, pp_image)
# Simpan presentasi dalam format PPTX.
presentation.save("presentation_with_SVG.pptx", slides.export.SaveFormat.PPTX)
Mengonversi SVG menjadi Sekumpulan Bentuk
Aspose.Slides mengonversi SVG menjadi sekumpulan bentuk dengan cara yang mirip dengan penanganan SVG di PowerPoint.

Fungsionalitas ini disediakan oleh overload metode add_group_shape dalam kelas ShapeCollection yang menerima sebuah SvgImage sebagai argumen pertama.
Kode contoh di bawah ini menunjukkan cara mengonversi file SVG menjadi sekumpulan bentuk.
import aspose.slides as slides
with slides.Presentation() as presentation:
# Baca konten file SVG.
with open("sample.svg","rt") as image_stream:
svg_content = image_stream.read()
# Buat objek SvgImage.
svg_image = slides.SvgImage(svg_content)
# Dapatkan ukuran slide.
slide_size = presentation.slide_size.size
# Ubah gambar SVG menjadi grup bentuk dan skalakan ke ukuran slide.
presentation.slides[0].shapes.add_group_shape(svg_image, 0, 0, slide_size.width, slide_size.height)
# Simpan presentasi dalam format PPTX.
presentation.save("shapes_from_SVG.pptx", slides.export.SaveFormat.PPTX)
Menambahkan Gambar sebagai EMF di Slide
Aspose.Slides for Python memungkinkan Anda menyisipkan gambar Enhanced Metafile (EMF) ke dalam presentasi.
Contoh Python berikut mendemonstrasikan hal ini:
with slides.Presentation() as presentation:
slide = presentation.slides[0]
with open("image.emf", "rb") as image_stream:
emf_image = presentation.images.add_image(image_stream)
slide_size = presentation.slide_size.size
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 0, 0, slide_size.width, slide_size.height, emf_image)
presentation.save("presentation_with_EMF.pptx", slides.export.SaveFormat.PPTX)
Mengganti Gambar di Koleksi Gambar
Aspose.Slides memungkinkan Anda mengganti gambar yang disimpan dalam koleksi gambar presentasi, termasuk yang digunakan oleh bentuk slide. Bagian ini menjelaskan beberapa pendekatan untuk memperbarui gambar dalam koleksi. API menyediakan metode sederhana untuk mengganti gambar dengan data byte mentah, instance IImage, atau gambar lain yang sudah ada dalam koleksi.
Ikuti langkah-langkah berikut:
- Muat presentasi yang berisi gambar menggunakan kelas Presentation.
- Muat gambar baru dari file ke dalam array byte.
- Ganti gambar target dengan gambar baru menggunakan array byte.
- Atau, muat gambar ke dalam objek IImage dan gantikan gambar target dengan objek tersebut.
- Atau ganti gambar target dengan gambar yang sudah ada dalam koleksi gambar presentasi.
- Simpan presentasi yang telah dimodifikasi sebagai file PPTX.
def read_all_bytes(file_name):
with open(file_name, "rb") as stream:
return stream.read()
# Buat instance kelas Presentation yang mewakili file presentasi.
with slides.Presentation("sample.pptx") as presentation:
# Cara pertama.
image_data = read_all_bytes("image0.jpeg")
old_image = presentation.images[0]
old_image.replace_image(image_data)
# Cara kedua.
new_image = slides.Images.from_file("image1.jpeg")
old_image = presentation.images[1]
old_image.replace_image(new_image)
# Cara ketiga.
old_image = presentation.images[2]
old_image.replace_image(presentation.images[3])
# Simpan presentasi ke file.
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
Info
Dengan konverter gratis Aspose Text to GIF, Anda dapat dengan mudah menganimasikan teks dan membuat GIF dari teks.FAQ
Apakah resolusi gambar asli tetap utuh setelah penyisipan?
Ya. Piksel sumber dipertahankan, tetapi tampilan akhir bergantung pada cara picture diubah skalanya pada slide dan kompresi yang diterapkan saat menyimpan.
Apa cara terbaik untuk mengganti logo yang sama di puluhan slide sekaligus?
Letakkan logo pada slide master atau layout dan ganti di koleksi gambar presentasi—perubahan akan menyebar ke semua elemen yang menggunakan sumber tersebut.
Apakah SVG yang disisipkan dapat diubah menjadi bentuk yang dapat diedit?
Ya. Anda dapat mengonversi SVG menjadi grup bentuk, setelah itu tiap bagian dapat diedit dengan properti bentuk standar.
Bagaimana cara menetapkan gambar sebagai latar belakang untuk beberapa slide sekaligus?
Assign the image as the background pada slide master atau layout yang relevan—semua slide yang menggunakan master/layout tersebut akan mewarisi latar belakang.
Bagaimana mencegah ukuran presentasi “membengkak” karena banyak gambar?
Gunakan kembali satu sumber gambar daripada duplikat, pilih resolusi yang wajar, terapkan kompresi saat menyimpan, dan simpan grafik berulang pada master bila memungkinkan.