Bilik Bazası

Python PPTX | PowerPoint təqdimatını necə idarə etmək

Əgər Python ilə PowerPoint və OpenOffice təqdimatlarını yaratmağı, oxumağı, fərdiləşdirməyi, birləşdirməyi, klonlaşdırmağı və ya çevirməyi, əlavə xarici proqram təminatı olmadan öyrənmək istəyirsinizsə, biz sizin üçün buradayıq.

Aspose.Slides for Python via .NET təqdimatları idarə etmək üçün sinif kitabxanasıdır və sıfırdan təqdimat yaratmaq, təqdimatları çevirmək, mətn, şəkil, cədvəl, animasiya idarə etmək, slaydları önizləmək, slaydları PDF, TIFF, XPS, HTML və s. formatlarına ixrac etmək kimi bir çox əsas xüsusiyyətləri təklif edir. Aspose.Slides for Python via .NET API‑imizə daha yaxşı başa düşmək üçün demo və işlək nümunələr təqdim edir.

API‑imiz aşağıdakı imkanları təqdim edir:

• Şablonlardan slayd yaratmaq və ya klonlaşdırmaq
• PowerPoint cədvəlləri ilə işləmək
• Şəkillərdə qoruma əlavə etmək və ya silmək
• MS Excel qrafiklərini OleObject kimi əlavə etmək
• Verilənlər bazasından təqdimat yaratmaq
• Təqdimatları qorumaq
• Qrafiklər yaratmaq və dəyişdirmək
• Təqdimatları PDF, XPS, HTML, JPEG, PNG, SVG və daha bir çox formata ixrac etmək

Dəstəklənən fayl formatları:

Aspose.Slides for Python via .NET aşağıdakı formatları həm yükləyə, həm də saxlaya bilir: PPT, POT, PPS, PPTX, POTX, PPSX, PPTM, PPSM, POTM, ODP, OTP; həmçinin TIFF, EMF, PDF, XPS, JPEG, PNG, GIFF, BMP, SVG, SWF, HTML, XAML formatlarında saxlaya bilir.

Aşağıda təqdimatı necə yaratmaq, açmaq, birləşdirmək və saxlamaq, eləcə də kod nümunələri təqdim edəcəyik.

Python PPTX | PowerPoint təqdimatını necə idarə etmək

Python ilə PowerPoint (PPTX) təqdimatı yaratmaq

Aspose.Slides for Python via .NET‑də slaydın içərisinə yeni xətt əlavə etmək üçün aşağıdakı addımları izləyin:

  1. Presentation sinifindən bir nümunə yaradın
  2. Slaydın indeksini istifadə edərək ona istinad alın
  3. shapes obyektinin add_auto_shape metodundan istifadə edərək LINE tipli AutoShape əlavə edin
  4. Təqdimatı PPTX faylı kimi saxlayın

Bu addımları tətbiq edərək təqdimatın birinci slaydına xətt əlavə etdik:

import aspose.slides as slides  

# PPT faylını təmsil edən Presentation obyektini nümunələşdiririk
with slides.Presentation() as presentation:
    slide = presentation.slides[0]
    slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0)
    presentation.save("NewPresentation_out.pptx", slides.export.SaveFormat.PPTX)

Python ilə təqdimatı açmaq

Aspose.Slides for Python via .NET‑lə inkişafçılar mövcud PowerPoint təqdimatlarını əldə edə və ya dəyişdirə bilərlər.

API‑imiz Presentation sinifini təqdimatı açmaq üçün təqdim edir və mövcud PowerPoint faylına əsaslanaraq Presentation sinifinin uyğun konstruktorlarından birini istifadə edərək obyekt yarada bilərik. Aşağıdakı nümunədə Presentation‑ı necə açmaq lazım olduğunu göstərəcəyik. Konstruktorun parametrinə təqdimat faylının adını veririk və slaydların ümumi sayını ekrana çap edirik.

import aspose.slides as slides

# Presentation sinifinin konstruktoruna fayl yolunu verərək təqdimatı açırıq
with slides.Presentation("pres.pptx") as pres:
    # Təqdimatda mövcud slaydların ümumi sayını çap edirik
    print(pres.slides.length)

Əgər təqdimatınız çox böyükdürsə (məsələn, ölçüsü 3 GB‑dır), aşağıdakı nümunə kodu ilə onu aça bilərsiniz:

import aspose.slides as slides
import os

loadOptions = slides.LoadOptions()
loadOptions.blob_management_options = slides.BlobManagementOptions()
loadOptions.blob_management_options.presentation_locking_behavior = slides.PresentationLockingBehavior.KEEP_LOCKED

with slides.Presentation("pres.pptx", loadOptions) as pres:
    # Böyük təqdimat yüklənir və istifadəyə hazırdır, amma yaddaş istifadəsi hələ də azdır.

    # Təqdimatda istənilən dəyişiklikləri edin.
    pres.slides[0].name = "Çox böyük təqdimat"

    # Təqdimat başqa bir fayla saxlanacaq, yaddaş istifadəsi saxlanma zamanı da aşağı qalır.
    pres.save("veryLargePresentation-copy.pptx", slides.export.SaveFormat.PPTX)

    # Bu əmri yerinə yetirə bilməzsiniz! IO istisnası atılacaq, çünki fayl pres obyektləri tərəfindən kilidlənib
    # və obyektlər sərbəst buraxılmayacaq
    os.remove("pres.pptx")

# Burada faylı silmək təhlükəsizdir, çünki mənbə faylı pres obyekti tərəfindən kilidlənmir
os.remove("pres.pptx")

Əgər böyük obyektlər (çox böyük şəkillər, video, audio və s.) olan təqdimat yaradırsınızsa, yaddaş istifadəsini azaltmaq üçün Blob imkanı istifadə edin.

Python ilə PowerPoint təqdimatlarını birləşdirmək

Aspose.Slides for Python via .NET təqdimatları müxtəlif yollarla birləşdirməyə imkan verir. Şəkilləri, formatlamaları, mətnləri, stilləri, şərhləri və s. itirmədən PowerPoint təqdimatlarını birləşdirə bilərsiniz. API‑imizlə bütün təqdimatları, müəyyən slaydları və ya fərqli formatlarda (PPTX‑dən PPT‑ə, PPTX‑dən ODP‑yə və s.) birləşdirmək mümkündür.

Birləşdirmə üçün add_clone metodundan (ISlideCollection interfeysi) istifadə edə bilərsiniz. Presentation obyektinin slides kolleksiyası var və seçilmiş təqdimatdan add_clone metodunu çağıraraq slaydları birləşdirə bilərsiniz.

Təqdimatı birləşdirmək

AddClone (ISlide) metodundan istifadə edərək slaydları onların görünüşünü və stillərini itirmədən (defolt parametrlərlə) birləşdirə bilərsiniz. Aşağıdakı kodda təqdimatların necə birləşdirildiyini görə bilərsiniz:

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres1:
    with slides.Presentation("Presentation1.pptx") as pres2:
        for slide in pres2.slides:
            pres1.slides.add_clone(slide)
        pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)

Təqdimatı birləşdirib slaydların stilini dəyişmək

Slaydların stilini çıxış təqdimatında dəyişdirmək istəyirsinizsə, add_clone (ISlide, IMasterSlide, Boolean) metodu bu imkanı verir.

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres1:
    with slides.Presentation("Presentation1.pptx") as pres2:
        for slide in pres2.slides:
            pres1.slides.add_clone(slide, pres1.masters[0], allow_clone_missing_layout = True)
        pres1.save("combined_with_master.pptx", slides.export.SaveFormat.PPTX)

Müəyyən slaydları birləşdirmək

Aşağıdakı kodla müxtəlif təqdimatlardan seçilmiş slaydları birləşdirərək tək çıxış təqdimatı əldə edə bilərsiniz:

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres1:
    with slides.Presentation("Presentation1.pptx") as pres2:
        for slide in pres2.slides:
            pres1.slides.add_clone(slide, pres1.layout_slides[0])
        pres1.save("combined_with_layout.pptx", slides.export.SaveFormat.PPTX)

Birləşdirmənin digər yolları üçün sənəddəki Təqdimatı Birləşdirmək bölməsinə baxa bilərsiniz.

Python ilə PowerPoint təqdimatlarını saxlamaq

Aspose.Slides for Python via .NET ilə təqdimatı fayl və ya axın (stream) kimi saxlaya bilərsiniz. Aşağıda hər iki üsul üçün nümunə kod təqdim edirik.

Təqdimatı fayl kimi saxlamaq

Presentation sinifinin Save metodunu çağıraraq təqdimatı fayl kimi saxlaya bilərsiniz.

import aspose.slides as slides

# PPT faylını təmsil edən Presentation obyektini nümunələşdiririk
with slides.Presentation() as presentation:
    
    #...burada işinizi görün...

    # Təqdimatı fayla saxlayırıq
    presentation.save("Saved_out.pptx", slides.export.SaveFormat.PPTX)

Təqdimatı axına (stream) saxlamaq

Təqdimatları axına (stream) saxlamaq üçün sadəcə çıxış axını Presentation sinifinin Save metoduna ötürün. Aşağıdakı nümunədə yeni Presentation faylı yaradılıb, forma mətn əlavə edilir və təqdimat axına saxlanılır.

import aspose.slides as slides

# PPT faylını təmsil edən Presentation obyektini nümunələşdiririk
with slides.Presentation() as presentation:
    
    shape = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 200, 200, 200, 200)

    # Təqdimatı axına saxlayırıq
    with open("Save_As_Stream_out.pptx", "bw") as stream:
        presentation.save(stream, slides.export.SaveFormat.PPTX)

Sənədlərimizdə təqdimatları əvvəlcədən təyin edilmiş Görünüş Növü ilə saxlamaq , təqdimatları Strict Open XML cədvəl formatında saxlamaq və ya irəliləyiş yeniləmələrini faizlə saxlamaq barədə məlumat tapa bilərsiniz.

Aspose.Slides for Python via .NET Python 3.5, 3.6, 3.7, 3.8, 3.9 ilə uyğun gəlir və Linux‑da Python kodu yazırsınızsa, əlavə Linux üçün tələblər bölməsinə baxa bilərsiniz.

Ödənişli Konsultasiya

Layihəniz üçün köməyə ehtiyacınız varsa, bizim ekspertlərimiz layihəniz üzərində işləyəcək, həll dizayn edəcək və API‑ni ehtiyaclarınıza uyğun şəkildə tətbiq edəcək. Biz çətin işi görürük, siz isə biznesinizə fokuslana bilərsiniz.