Low-Code presentationsoperationer i Python via Java

Översikt

API:et Aspose.Slides for Python via Java tillhandahåller statiska hjälparklasser för vanliga presentationsoperationer. Dessa hjälpare kapslar in ofta använda object‑model‑arbetsflöden i fokuserade metoder, så att du kan konvertera eller sammanslå filer, bearbeta presentationselement, samla former och ta bort oanvänd innehåll med mindre kod.

Low‑code‑hjälpare är mest användbara när operationen gäller en hel fil eller presentation och standardarbetsflödet matchar dina krav. Använd hela Aspose.Slides object model när du behöver fin‑granulär kontroll över enskilda bilder, master‑bilder, layouter, former, exportinställningar eller relationer mellan presentationselement.

Följande tabell sammanfattar de tillgängliga hjälparna:

Hjälpare Använd för
Convert Konvertera en presentation till ett annat format med ett direkt fil‑till‑fil‑anrop.
Merger Kombinera kompletta presentationsfiler av samma format.
ForEach Köra en åtgärd för varje bild, form, stycke eller textdel.
Collect Hämta former från hela presentationen för upprepad bearbetning eller analys.
Compress Ta bort oanvända master‑bilder och layouter samt minska inbäddade teckensnittsdatan.

Konvertera en presentation

Använd Convert.autoByExtension när filens utökning är tillräcklig för att välja exportformatet. Metoden öppnar källpresentationen, bestämmer det erforderliga formatet från utdatavägen och skriver resultatet.

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Convert

Convert.autoByExtension("input.pptx", "output.pdf")

Klassen Convert erbjuder också dedikerade metoder för PDF-, SVG‑, JPEG‑, PNG‑ och TIFF‑utdata. Använd hela objektmodellen när du behöver granska eller ändra presentationen före export eller konfigurera en exportinställning som inte exponeras av den valda hjälparen. Se Convert Presentation för format‑specifika arbetsflöden och alternativ.

Sammanfoga presentationer

Använd Merger.process för att kombinera kompletta presentationsfiler med ett anrop. Inmatningspresentationerna måste ha samma filformat.

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Merger

input_files = jpype.JArray(jpype.JString)(["part-1.pptx", "part-2.pptx"])
Merger.process(input_files, "merged.pptx")

Hjälparen är lämplig när alla bilder ska läggas till i ett resultat utan att välja eller omkartlägga dem individuellt. Använd hela objektmodellen när du behöver slå samman valda bilder, tillämpa en destinations‑master eller layout, bevara sektioner explicit, eller anpassa olika bildstorlekar. Se Merge Presentations för dessa scenarier.

Iterera genom presentations‑element

Klassen ForEach anropar en återuppringning för varje begärd typ av presentations‑element. Den undviker nästlade samlingsloopar och är praktisk för presentations‑omfattande inspektion eller formateringsändringar.

Följande exempel använder ForEach.slide, ForEach.shape, ForEach.paragraph och ForEach.portion för att inspektera motsvarande element:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import ForEach, Presentation

def print_slide(slide, index):
    print(f"Slide {index}: {slide.getShapes().size()} shapes")

def print_shape(shape, slide, index):
    print(f"Shape {index} on {slide.getClass().getSimpleName()}: {shape.getName()}")

def print_paragraph(paragraph, slide, index):
    print(f"Paragraph {index} on {slide.getClass().getSimpleName()}: {paragraph.getText()}")

def print_portion(portion, paragraph, slide, index):
    print(f"Portion {index} on {slide.getClass().getSimpleName()}: {portion.getText()}")

presentation = Presentation("input.pptx")
try:
    ForEach.slide(presentation, print_slide)
    ForEach.shape(presentation, print_shape)
    ForEach.paragraph(presentation, print_paragraph)
    ForEach.portion(presentation, print_portion)
finally:
    presentation.dispose()

Som standard inkluderar presentations‑omfattande form‑ och texttraversering normala, master‑ och layout‑bilder. Överlagringar med en includeNotes‑parameter kan också bearbeta notes‑bilder. Använd direkta samlingsloopar när traverseringsordning, tidig avbrytning, filtrering före återuppringning eller detaljerad förälder‑barn‑kontroll är viktigt.

Samla former

Använd Collect.shapes när du behöver en samling av alla former i en presentation snarare än en återuppringning för varje form. Detta är användbart när samma uppsättning ska filtreras, räknas eller bearbetas flera gånger.

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Collect, Presentation

presentation = Presentation("input.pptx")
try:
    shapes = Collect.shapes(presentation)

    for shape in shapes:
        print(f"{shape.getName()}: {shape.getClass().getSimpleName()}")
finally:
    presentation.dispose()

Använd istället ForEach.shape när varje form kan hanteras omedelbart och du inte behöver behålla det insamlade resultatet.

Komprimera presentationsinnehåll

Klassen Compress kan ta bort oanvända strukturella element och minska inbäddade teckensnittsdatan:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Compress, Presentation, SaveFormat

presentation = Presentation("input.pptx")
try:
    Compress.removeUnusedLayoutSlides(presentation)
    Compress.removeUnusedMasterSlides(presentation)
    Compress.compressEmbeddedFonts(presentation)

    presentation.save("compressed.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Ta bort oanvända layouter innan oanvända master‑bilder så att en master som blir orefererad efter layout‑rensning också kan tas bort. Spara den optimerade presentationen till en ny fil om du kan behöva de ursprungliga master‑bilderna, layouterna eller hela den inbäddade teckensnittsdatan senare. För mer detaljer, se Slide Master och Embedded Font.

FAQ

När bör jag använda low‑code‑API:t istället för hela objektmodellen?

Använd low‑code‑hjälpare när en standardoperation gäller en hel fil eller presentation och inte kräver detaljstyrning av enskilda element. Använd hela objektmodellen när du behöver välja specifika bilder, kontrollera master‑ och layout‑relationer, inspektera mellanstadier, eller konfigurera beteende som hjälparen inte exponerar.

Kan Merger kombinera presentationer i olika filformat?

Nej. Merger.process kräver att inmatningspresentationerna har samma format. Konvertera först indatafilerna till ett gemensamt format, till exempel med Convert.autoByExtension, och slå sedan samman de konverterade filerna.

Bearbetar ForEach master‑, layout‑ och notes‑bilder?

ForEach.slide itererar genom normala presentationsbilder. Presentations‑omfattande ForEach.shape, ForEach.paragraph och ForEach.portion‑operationer inkluderar normala, master‑ och layout‑bilder som standard. Använd deras överlagringar med includeNotes satt till True för att inkludera notes‑bilder.

Vad är skillnaden mellan ForEach.shape och Collect.shapes?

Använd ForEach.shape för att bearbeta varje form omedelbart via en återuppringning. Använd Collect.shapes när du behöver ett iterator‑resultat som kan behållas, filtreras, räknas eller traverseras flera gånger.

Gör Compress alltid presentationsfilen mindre?

Inte nödvändigtvis. Resultatet beror på om presentationen innehåller oanvända layouter, oanvända master‑bilder eller inbäddade teckensnitt med oanvända tecken. Om ingen av dessa finns, kan de motsvarande Compress‑operationerna kanske inte minska filstorleken.

Sparas ändringar som gjorts av ForEach eller Compress automatiskt?

Nej. Dessa hjälpare arbetar på det inlästa Presentation‑objektet i minnet. Efter att ha ändrat element i en ForEach‑återuppringning eller kört Compress, anropa Presentation.save för att skriva resultatet.

Relaterade artiklar