İş hayatında her gün karşılaştığımız rutinler arasında sunum hazırlamak, genellikle zaman alıcı ve yorucu bir süreç olabilir. Aynı verileri işlemek, görselleştirmek, slaytları oluşturmak ve içeriği görsel olarak çekici hale getirmek, birçok kişi için zorlayıcı ve bunaltıcı olabilir. Ancak, teknolojinin sunduğu avantajlar sayesinde, bu rutin görevleri hızlı ve etkili bir şekilde yerine getirmek mümkün.
Bu yazıda, sunum hazırlamayı Python ile nasıl otomatik hale getirebileceğimizi öğreneceğiz. Eğer siz de aynı verileri işleyip, görselleştirip sunum haline getirmekten sıkıldıysanız bu işi sizin yerinize python yapabilir.
Yükleme ve Import
Öncelikle sunum hazırlamak için gerekli kütüphaneleri indirip, import edelim.
!pip install pptx
Ardından gerekli olan fonksiyonları import edelim. Yazının devamında bu fonksiyonların her birinin ne işe yaradığı açıklanacaktır.
from pptx import Presentation
from pptx.util import Cm
from pptx.enum.shapes import MSO_SHAPE
from pptx.dml.color import RGBColor
from pptx.util import Pt
from pptx.enum.dml import MSO_THEME_COLOR
Sunum Oluşturma ve Tasarım
Import aşamasını tamamladıktan sonra sunum oluşturma kısmına geçiyoruz. Başlangıç olarak boş bir sunum açmamız gerekiyor. Sunumu açtıktan sonra powerpoint üzerinden bir layout seçiyoruz ve sunumun enine ve boyuna karar veriyoruz.
prs = Presentation()
blank_slide_layout = prs.slide_layouts[6]
prs.slide_width = Cm(34)
prs.slide_height = Cm(20)
Import ettiğimiz Cm modülü sayesinde sunumun genişliğini (width) 34 cm, boyunu(height) 20 cm belirledik. Bu aşamadan sonra aynı powerpoint’te sunum oluşturur gibi tek tek slaytları oluşturmamız gerekiyor.
slide = prs.slides.add_slide(blank_slide_layout)
Daha önce seçtiğimiz layout üzerinden ile sayfamızı oluşturuyoruz. Bunu da slide olarak tanımlıyoruz.
Boş sayfamız hazır. Bu aşamadan sonra kendi şirketinizin standartlarına uydurabilmeniz veya görsel olarak sunumunuzu güzelleştirebilmeniz için tasarım aşamasına geçeceğiz.
Sitemin renklerine uyacak mavi bir başlık ve sayfanın en altına thinkwithdata.com metnini de içeren mavi renk bir blok koymak istiyorum.
Bunun için genişliği sunumumuzun genişliği ile aynı olan (24 cm), yüksekliği 2 cm olan bir şekil oluşturup, mavi ile boyayıp metin olarak “thinkwithdata.com” yazdıracağız.
Bunun için slide adında oluşturduğumuz sayfamıza slides.shapes.add_shape
fonksiyonu ile sekil ekliyoruz. Bu fonksiyonun parametrelerine baktığımızda, (fonksiyonun üzerine gelip shift-tab ile görüntüleyebilirsiniz)
- autoshape_type_id (MSO şekillerinden oluşturulacak şeklin id’si)
- left (sunumun sol kenarına olan uzaklık)
- top (sunumun üst kenarına olan uzaklık)
- width (şeklin genişliği)
- height (şeklin yüksekliği)
shape = slide.shapes.add_shape(
MSO_SHAPE.RECTANGLE, 0,Cm(20-2) ,Cm(34),Cm(2)
)
Dikdörtgen bir şekil oluşturmak istediğimiz için MSO_SHAPE.RECTANGLE şeklini seçitk. Sunumun en solundan başlayacağı için left parametresine 0 yazdık. Şeklimizin yüksekliği 2 cm olduğu ve, sunumumuz 20 cm yükseklikte olduğu için top parametresine 20-2 yani 18 cm yazmamız gerekli. Genişlik sunumun genişliği ile aynı olacağı için width parametresine 34, height parametresine 2 yazıyoruz.
shape.shadow.inherit = False
fill=shape.fill
fill.solid()
fill.fore_color.rgb=RGBColor(50,102,219)
shape.text = “thinkwithdata.com”
Ardından gölge istemediğimiz için gölge parametresine False tanımlıyoruz. Şeklin rengini RGBColor ile istediğimiz renk olarak tanımlıyoruz.
Ardından başlık için textbox eklememiz gerekiyor. Gene konumunu ve yüksekliğini tanımlıyoruz.
title = slide.shapes.add_textbox(Cm(1.43),Cm(1.32),Cm(31),Cm(1.44))
tf = title.text_frame
p = tf.paragraphs[0]
run = p.add_run()
run.text = “Örnek Sunum Sayfası”
font = run.font
font.name = ‘Calibri’
font.size = Pt(25)
font.color.rgb = RGBColor(50,102,219)
Eklemek istediğimiz başlığın metni, fontu, rengi gibi parametreleri girdikten sonra sunumumuzun ilk aşaması tamamlanıyor.
prs.save(“thinkwithdata_python_ile_sunum.pptx”)
İkinci yazımızda verileri görselleştirip sunuma eklemeyi göreceğiz.