База знания

Python PPTX | Как да манипулирате PowerPoint презентация

Ако искате да разберете как да създавате, четете, персонализирате, комбинирате, клонирате или конвертирате PowerPoint и OpenOffice презентации с Python, без нужда от външен софтуер, ние сме тук, за да ви помогнем.

Aspose.Slides for Python via .NET е библиотека за манипулиране на презентации, предлагаща множество ключови функции като създаване на презентации от нулата, конвертиране на презентации, управление на текстове, форми, таблици, анимации, преглед на слайдове, експортиране на слайдове към PDF, TIFF, XPS, HTML и др., както и много други възможности. Aspose.Slides for Python via .NET предоставя демонстрации и работещи примери, за да ви помогнат да разберете по-добре нашия API.

Нашият API предлага следните функции:

• Създаване или клониране на слайдове от шаблони
• Работа с PowerPoint таблици
• Премахване или добавяне на защита върху форми
• Добавяне на MS Excel диаграми като OleObjects
• Генериране на презентации от база данни
• Защита на презентации
• Създаване и модифициране на диаграми
• Експортиране на презентации към PDF, XPS, HTML, JPEG, PNG, SVG и много други

Поддържани файлови формати:

Aspose.Slides for Python via .NET може както да зарежда, така и да записва следните формати: PPT, POT, PPS, PPTX, POTX, PPSX, PPTM, PPSM, POTM, ODP, OTP, а също така да ги запазва в следните формати: TIFF, EMF, PDF, XPS, JPEG, PNG, GIFF, BMP, SVG, SWF, HTML, XAML.

По-долу ще ви покажем как да създадете, отворите, обедините и запазите презентация, като предоставим примерен код.

Python PPTX | Как да манипулирате PowerPoint презентация

Как да създадете PowerPoint (PPTX) презентация с Python

За да добавите нов ред в слайд с Aspose.Slides for Python via .NET, следвайте тези стъпки:

  1. Създайте инстанция на класа Presentation
  2. Вземете референция към слайд, използвайки неговия Indeks
  3. С помощта на метода add_auto_shape, предоставен от обекта shapes, добавете AutoShape от тип LINE
  4. Запишете презентацията като PPTX файл

С помощта на тези стъпки добавихме линия към първия слайд на презентацията:

import aspose.slides as slides  

# Instantiate a Presentation object that represents a presentation file
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

С Aspose.Slides for Python via .NET разработчиците могат да достъпват или модифицират съществуващи PowerPoint презентации.

Нашият API предоставя класа Presentation за отваряне на съществуваща презентация и можем да използваме един от подходящите конструктори, за да създадем обект въз основа на съществуващ PowerPoint файл. В примера по-долу показваме как да отворим презентация, като предаваме името на файла на конструктора и отпечатваме общия брой слайдове.

import aspose.slides as slides

# Opening the presentation file by passing the file path to the constructor of Presentation class
with slides.Presentation("pres.pptx") as pres:
    # Printing the total number of slides present in the presentation
    print(pres.slides.length)

Ако имате много големи презентации (например размер 3 GB), можете да ги отворите със следния примерен код:

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:
    # the huge presentation is loaded and ready to use, but the memory consumption is still low.

    # make any changes to the presentation.
    pres.slides[0].name = "Very large presentation"

    # presentation will be saved to the other file, the memory consumptions still low during saving.
    pres.save("veryLargePresentation-copy.pptx", slides.export.SaveFormat.PPTX)

    # can't do that! IO exception will be thrown, because the file is locked while pres objects will
    # not be disposed
    os.remove("pres.pptx")

# it's ok to do it here, the source file is not locked by pres object
os.remove("pres.pptx")

Ако създавате презентация, съдържаща големи обекти (много големи изображения, видео, аудио и др.), използвайте Blob facility за намаляване на консумацията на памет.

Как да обедините PowerPoint презентации с Python

Aspose.Slides for Python via .NET ви позволява да обединявате презентации по различни начини. Можете да обединявате PowerPoint презентации заедно с техните форми, форматиране, текстове, стилове, коментари и др., без да губите качество или данни. С нашия API можете да обединявате цели презентации, конкретни слайдове или презентации в един формат (PPTX към PPTX, PPT към PPT и др.), или в различни формати (PPTX към PPT, PPTX към ODP и др.).

За обединяване на презентации можете да използвате методите add_clone (от интерфейса ISlideCollection ). Обектът Presentation съдържа колекция от слайдове и можете да извикате метода add_clone от избраната презентация – слайдовете ще бъдат обединени.

Сливане на презентация

С помощта на метода AddClone (ISlide) можете да комбинирате слайдове без да се притеснявате, че те ще загубят външния си вид и стилове (по подразбиране).
В кода по-долу се вижда как се обединяват презентации:

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)

Сливане на презентацията и промяна на стила на слайдовете
Ако искате да промените стила на слайдовете в изходната презентация, докато ги обединявате, методът add_clone (ISlide, IMasterSlide, Boolean) ви позволява това.

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)

Сливане на конкретни слайдове
С помощта на кода по-долу можете да изберете и комбинирате определени слайдове от различни презентации, получавайки една изходна презентация:

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)

За повече начини за обединяване на презентации, вижте раздела Сливане на презентация в документацията.

Как да запазите PowerPoint презентации с Python

С Aspose.Slides for Python via .NET можете да запазите презентация като файл или поток. По-долу ще предоставим примерен код за двата метода.

Запазване на презентация като файлове
Можете да запазите презентация, като извикате метода Save на класа Presentation .

import aspose.slides as slides

# Instantiate a Presentation object that represents a PPT file
with slides.Presentation() as presentation:
    
    #...do some work here...

    # Save your presentation to a file
    presentation.save("Saved_out.pptx", slides.export.SaveFormat.PPTX)

Запазване на презентация към потоци
Един от начините за запазване на презентации е чрез запис в поток. Просто предайте изходен поток на метода Save на класа Presentation . В кода по-долу създадохме нов файл за презентация, добавихме текст към форма и запазихме презентацията в потока.

import aspose.slides as slides

# Instantiate a Presentation object that represents a PPT file
with slides.Presentation() as presentation:
    
    shape = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 200, 200, 200, 200)

    # Save your presentation to a stream
    with open("Save_As_Stream_out.pptx", "bw") as stream:
        presentation.save(stream, slides.export.SaveFormat.PPTX)

В нашата документация можете да разберете как да [запазвате презентации с предварително зададен тип изглед], [запазвате презентации в строг Open XML формат за електронни таблици] или [записвате напредъка в проценти].

Aspose.Slides for Python via .NET е съвместим с Python 3.5, 3.6, 3.7, 3.8, 3.9 и, ако пишете Python код под Linux, можете да проверите допълнителните изисквания за Linux .

Платено консултиране

Ако се нуждаете от помощ за вашия проект, имаме експерти , които ще работят с вас, ще проектират решение и ще внедрят нашия API според вашите нужди. Ние ще свършим тежката работа, за да можете вие да се фокусирате върху бизнеса си.