Gambar adalah cara komunikasi yang efektif yang membuat konten menjadi hidup. Inilah alasan mengapa gambar diadopsi secara luas di halaman web, dokumen, presentasi, dll. Presentasi MS PowerPoint biasanya dibuat dengan lebih sedikit teks dan lebih banyak objek dan gambar grafis. Oleh karena itu, saat memproses presentasi secara terprogram, Anda mungkin perlu mengekstrak gambar beserta teksnya. Untuk melakukannya, artikel ini membahas cara mengekstrak gambar dari presentasi PPT atau PPTX dengan Python.
- Pustaka Python untuk Mengekstrak Gambar dari Presentasi
- Ekstrak Gambar dari Presentasi PPTX dengan Python
- Ekstrak Gambar dari Bentuk
- Ekstraksi Gambar dari Latar Belakang Slide
Pustaka Python untuk Mengekstrak Gambar dari Presentasi
Untuk mengekstrak gambar dari presentasi PowerPoint, kita akan menggunakan Aspose.Slides for Python via .NET. Ini adalah pustaka Python yang kuat yang dirancang untuk membuat presentasi dari awal. Selain itu, ini memungkinkan Anda untuk mengonversi dan memanipulasi presentasi yang ada dengan mulus. Anda dapat menginstalnya dari PyPI menggunakan perintah pip berikut.
> pip install aspose.slides
Ekstrak Gambar dari PPT PowerPoint dengan Python
Berikut ini adalah langkah-langkah untuk mengekstrak gambar dari presentasi PowerPoint dengan Python.
- Muat presentasi menggunakan kelas Presentation.
- Ulangi gambar dalam presentasi menggunakan koleksi Presentation.images.
- Simpan setiap gambar sebagai file.
Contoh kode berikut menunjukkan cara mengekstrak gambar dari file PPTX dengan Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
imageIndex=1
# memuat presentasi
with slides.Presentation("presentation.pptx") as pres:
# lingkaran melalui gambar
for image in pres.images:
file_name = "Image_{0}.{1}"
image_type = image.content_type.split("/")[1]
image_format = get_image_format(image_type)
# menyimpan gambar
image.system_image.save(file_name.format( imageIndex, image_type), image_format)
imageIndex = imageIndex + 1
Ekstrak Gambar dari Bentuk dalam PPT
Dalam kasus tertentu, Anda mungkin perlu mengekstrak gambar hanya dari bentuk dalam presentasi. Jadi mari kita lihat cara mengekstrak gambar dari bentuk di PPT dengan Python.
- Pertama, muat presentasi menggunakan kelas Presentation.
- Kemudian, ulangi slide presentasi menggunakan koleksi Presentation.slides.
- Untuk setiap slide, akses bentuknya menggunakan koleksi ISlide.shapes.
- Untuk setiap bentuk dalam koleksi, lakukan langkah-langkah berikut:
- Jika bentuknya adalah bentuk otomatis dan jenis isiannya adalah gambar, maka ekstrak gambar menggunakan properti IShape.fillformat.picturefillformat.picture.image.
- Jika bentuknya adalah bingkai foto maka ekstrak gambar menggunakan properti IShape.pictureformat.picture.image.
- Terakhir, simpan gambar sebagai file.
Contoh kode berikut menunjukkan cara mengekstrak gambar dari bentuk dalam presentasi PPT menggunakan Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# memuat presentasi
with slides.Presentation("pres.pptx") as pres:
slideIndex = 0
image_type = ""
# loop melalui slide
for slide in pres.slides:
slideIndex += 1
image_format = drawing.imaging.ImageFormat.jpeg
file_name = "BackImage_Slide_{0}{1}.{2}"
# loop melalui bentuk dalam slide
for i in range(len(slide.shapes)):
shape = slide.shapes[i]
shape_image = None
# periksa apakah bentuknya adalah bentuk otomatis atau bingkai foto
if type(shape) is slides.AutoShape and shape.fill_format.fill_type == slides.FillType.PICTURE:
shape_image = shape.fill_format.picture_fill_format.picture.image
elif type(shape) is slides.PictureFrame:
shape_image = shape.picture_format.picture.image
# menyimpan gambar
if shape_image is not None:
image_type = shape_image.content_type.split("/")[1]
image_format = get_image_format(image_type)
shape_image.system_image.save(
file_name.format("shape_"+str(i)+"_", slideIndex, image_type),
image_format)
Ekstrak Gambar dari Latar Belakang Slide dalam PPT
Skenario lain bisa mengekstrak gambar yang digunakan sebagai latar belakang slide. Berikut ini adalah langkah-langkah untuk mengekstrak gambar hanya dari latar belakang slide dalam presentasi PPT.
- Pertama, muat presentasi menggunakan kelas Presentation.
- Kemudian, ulangi slide presentasi menggunakan koleksi Presentation.slides.
- Untuk setiap slide, lakukan langkah-langkah berikut:
- Periksa apakah slide memiliki gambar latar belakang menggunakan properti ISlide.background.fillformat.filltype.
- Jika latar belakang memiliki gambar maka ekstrak gambar menggunakan properti ISlide.background.fillformat.picturefillformat.picture.image.
- Periksa apakah slide tata letak memiliki gambar latar belakang menggunakan properti ISlide.layoutslide.background.fillformat.filltype.
- Jika background diisi dengan gambar maka ekstrak menggunakan properti ISlide.layoutslide.background.fillformat.picturefillformat.picture.image.
- Terakhir, simpan gambar yang diekstraksi sebagai file.
Contoh kode berikut menunjukkan cara mengekstrak gambar dari latar belakang slide di PPT dengan Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# memuat presentasi
with slides.Presentation("pres.pptx") as pres:
slideIndex = 0
image_type = ""
# loop melalui slide dalam presentasi
for slide in pres.slides:
slideIndex += 1
image_format = drawing.imaging.ImageFormat.jpeg
back_image = None
file_name = "BackImage_Slide_{0}{1}.{2}"
is_layout = False
# periksa apakah latar belakang slide dan tata letak slide diisi dengan gambar
if slide.background.fill_format.fill_type == slides.FillType.PICTURE:
back_image = slide.background.fill_format.picture_fill_format.picture.image
elif slide.layout_slide.background.fill_format.fill_type == slides.FillType.PICTURE:
back_image = slide.layout_slide.background.fill_format.picture_fill_format.picture.image
is_layout = True
# menyimpan gambar
if back_image is not None:
image_type = back_image.content_type.split("/")[1]
image_format = get_image_format(image_type)
back_image.system_image.save(
file_name.format("LayoutSlide_" if is_layout else "", slideIndex, image_type),
image_format)
Kedua contoh kode di atas menggunakan metode getimageformat, yang mengembalikan format gambar yang sesuai untuk tipe yang disediakan. Implementasi metode tersebut diberikan di bawah ini.
import aspose.slides as slides
import aspose.pydrawing as drawing
def get_image_format(image_type):
return {
"jpeg": drawing.imaging.ImageFormat.jpeg,
"emf": drawing.imaging.ImageFormat.emf,
"bmp": drawing.imaging.ImageFormat.bmp,
"png": drawing.imaging.ImageFormat.png,
"wmf": drawing.imaging.ImageFormat.wmf,
"gif": drawing.imaging.ImageFormat.gif,
}.get(image_type, drawing.imaging.ImageFormat.jpeg)
Dapatkan Lisensi Gratis
Anda bisa mendapatkan lisensi sementara gratis untuk menggunakan Aspose.Slides for Python melalui .NET tanpa batasan evaluasi.
Kesimpulan
Pada artikel ini, Anda telah mempelajari cara mengekstrak gambar dari presentasi PowerPoint dengan Python. Kami juga telah membahas ekstraksi gambar dari bentuk dan latar belakang slide secara terpisah. Selain itu, Anda dapat mempelajari lebih lanjut tentang Aspose.Slides for Python dengan mengunjungi dokumentasi. Selain itu, Anda dapat mengajukan pertanyaan melalui forum kami.
Lihat juga
- Buat File PowerPoint dengan Python
- Konversikan PPTX ke PDF dengan Python
- Konversikan PPT ke PNG dengan Python
- PPT/PPTX ke HTML dengan Python
Info: Aspose menyediakan pengonversi PowerPoint ke gambar — PPT ke JPG dan [PPT ke PNG][] — yang memungkinkan Anda menghasilkan gambar berdasarkan slide dalam presentasi.