Baza wiedzy

Python PPTX | Jak manipulować prezentacją PowerPoint

Jeśli chcesz dowiedzieć się, jak tworzyć, odczytywać, dostosowywać, łączyć, klonować lub konwertować prezentacje PowerPoint i OpenOffice przy użyciu Pythona, bez potrzeby korzystania z dodatkowego oprogramowania, mamy dla Ciebie rozwiązanie.

Aspose.Slides for Python via .NET to biblioteka klas do manipulacji prezentacjami, oferująca wiele kluczowych funkcji, takich jak tworzenie prezentacji od podstaw, konwertowanie prezentacji, zarządzanie tekstami, kształtami, tabelami, animacjami, podgląd slajdów, eksport slajdów do PDF, TIFF, XPS, HTML itp., oraz wiele innych funkcji. Aspose.Slides for Python via .NET udostępnia demonstracje i działające przykłady, aby pomóc lepiej zrozumieć nasze API.

Nasze API oferuje następujące funkcje:

• Tworzenie lub klonowanie slajdów z szablonów
• Praca z tabelami PowerPoint
• Usuwanie lub dodawanie ochrony na kształtach
• Dodawanie wykresów MS Excel jako OleObjects
• Generowanie prezentacji z bazy danych
• Ochrona prezentacji
• Tworzenie i modyfikowanie wykresów
• Eksportowanie prezentacji do PDF, XPS, HTML, JPEG, PNG, SVG i wielu innych

Obsługiwane formaty plików:

Aspose.Slides for Python via .NET może zarówno wczytywać, jak i zapisywać następujące formaty plików: PPT, POT, PPS, PPTX, POTX, PPSX, PPTM, PPSM, POTM, ODP, OTP oraz zapisywać w formatach: TIFF, EMF, PDF, XPS, JPEG, PNG, GIFF, BMP, SVG, SWF, HTML, XAML.

Poniżej pokażemy, jak tworzyć, otwierać, scalać i zapisywać prezentację oraz przedstawimy przykłady kodu.

Python PPTX | Jak manipulować prezentacją PowerPoint

Jak utworzyć prezentację PowerPoint (PPTX) przy użyciu Pythona

Aby dodać nową linię w slajdzie przy użyciu Aspose.Slides for Python via .NET, wykonaj następujące kroki:

  1. Utwórz instancję klasy Presentation
  2. Uzyskaj odniesienie do slajdu, używając jego indeksu
  3. Za pomocą metody add_auto_shape udostępnionej przez obiekt shapes dodaj AutoShape typu LINE
  4. Zapisz prezentację jako plik PPTX

Korzystając z tych kroków, dodaliśmy linię do pierwszego slajdu prezentacji:

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)

Jak otworzyć prezentację przy użyciu Pythona

Korzystając z Aspose.Slides for Python via .NET, programiści mogą uzyskać dostęp do istniejących prezentacji PowerPoint lub je modyfikować.

Nasze API udostępnia klasę Presentation do otwierania istniejącej prezentacji i możemy użyć jednego z odpowiednich konstruktorów tej klasy, aby utworzyć jej obiekt na podstawie istniejącej prezentacji PowerPoint. W poniższym przykładzie pokażemy, jak otworzyć prezentację. Przekazaliśmy nazwę pliku prezentacji do konstruktora klasy Presentation i wyświetlamy całkowitą liczbę slajdów.

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)

A jeśli masz bardzo duże prezentacje (np. o rozmiarze 3 GB), możesz je otworzyć przy użyciu poniższego przykładu kodu:

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")

Jeśli tworzysz prezentację zawierającą duże obiekty (bardzo duże obrazy, wideo, audio itp.), użyj Blob facility , aby zmniejszyć zużycie pamięci.

Jak scalać prezentacje PowerPoint przy użyciu Pythona

Aspose.Slides for Python via .NET umożliwia scalanie prezentacji na różne sposoby. Możesz scalać prezentacje PowerPoint wraz z ich kształtami, formatowaniem, tekstami, stylami, komentarzami itp., nie tracąc jakości ani danych. Dzięki naszemu API możesz scalać całe prezentacje, wybrane slajdy oraz prezentacje w jednym formacie (PPTX do PPTX, PPT do PPT itp.) lub w różnych formatach (PPTX do PPT, PPTX do ODP itp.).

Aby scalić prezentacje, możesz użyć metod add_clone (z interfejsu ISlideCollection ). Obiekt Presentation zawiera kolekcję slajdów i możesz wywołać metodę add_clone z wybranej prezentacji, aby scalić slajdy.

Scalanie prezentacji

Korzystając z metody AddClone (ISlide) , możesz łączyć slajdy bez obaw, że utracą swój wygląd i style (parametry domyślne).
W poniższym kodzie widać, jak scalić prezentacje:

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)

Scalanie prezentacji i zmiana stylu slajdów
Jeśli chcesz zmienić styl slajdów w prezentacji wynikowej podczas scalania, metoda add_clone (ISlide, IMasterSlide, Boolean) umożliwia to.

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)

Scalanie wybranych slajdów
Używając poniższego kodu, możesz wybrać i połączyć konkretne slajdy z różnych prezentacji, uzyskując jedną prezentację wyjściową:

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)

Aby poznać więcej sposobów scalania prezentacji, zobacz sekcję Merge Presentation w dokumentacji.

Jak zapisać prezentacje PowerPoint przy użyciu Pythona

Za pomocą Aspose.Slides for Python via .NET możesz zapisać prezentację jako plik lub strumień. Poniżej przedstawiamy przykładowy kod dla obu metod.

Zapisywanie prezentacji jako plików
Możesz zapisać prezentację jako plik, wywołując metodę Save klasy Presentation .

W poniższym kodzie widać, jak zapisać prezentację przy użyciu Aspose.Slides for Python via .NET w Pythonie, przekazując nazwę pliku i format zapisu.

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)

Zapisywanie prezentacji do strumieni
Jednym ze sposobów zapisywania prezentacji jest zapis do strumienia. Po prostu przekaż strumień wyjściowy do metody Save klasy Presentation . W poniższym kodzie utworzyliśmy nowy plik Presentation, dodaliśmy tekst do kształtu i zapisaliśmy prezentację do strumienia.

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)

W naszej dokumentacji możesz dowiedzieć się, jak save presentations with predefined View Type , save presentations to Strict Open XML spreadsheet format lub save progress updates in percentage .

Aspose.Slides for Python via .NET jest kompatybilny z Python 3.5, 3.6, 3.7, 3.8, 3.9, a w przypadku pisania kodu Pythona na Linuksie możesz sprawdzić dodatkowe requirements for Linux .

Konsultacje płatne

Jeśli potrzebujesz pomocy przy swoim projekcie, we have experts którzy będą współpracować z Tobą, zaprojektują rozwiązanie i wdrożą nasze API zgodnie z Twoimi potrzebami. Zajmiemy się trudną pracą, abyś mógł skupić się na swoim biznesie.