Low-Code-presentationer i JavaScript

Översikt

aspose.slides‑namnutrymmet tillhandahåller statiska hjälparklasser för vanliga presentationer. Dessa hjälpare kapslar in ofta använda objekt‑modellarbetsflöden i fokuserade metoder, så att du kan konvertera eller slå samman filer, behandla presentationselement, samla former och ta bort oanvänd innehåll med mindre kod.

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

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

Hjälpare Använd den för
Convert Konvertera en presentation till ett annat format med ett direkt fil‑till‑fil‑anrop.
Merger Kombinera hela 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 återkommande bearbetning eller analys.
Compress Ta bort oanvända huvudbilder och layouter samt minska inbäddade teckensnitt.

Konvertera en presentation

Använd Convert.autoByExtension när filändelsen på utdata räcker för att välja exportformatet. Metoden öppnar källpresentationen, bestämmer det erforderliga formatet från sökvägen för utdata och skriver resultatet.

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

aspose.slides.Convert.autoByExtension("input.pptx", "output.pdf");

[Convert]-klassen tillhandahåller också dedikerade metoder för PDF-, SVG-, JPEG-, PNG- och TIFF‑utdata. Använd hela objektmodellen när du behöver inspektera eller ändra presentationen före export eller konfigurera ett exportalternativ som inte exponeras av den valda hjälparen. Se Convert Presentation för format‑specifika arbetsflöden och alternativ.

Slå samman presentationer

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

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

const inputFiles = ["first.pptx", "second.pptx"];
aspose.slides.Merger.process(inputFiles, "merged.pptx");

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

Iterera genom presentationselement

[ForEach]-klassen anropar en återuppringning för varje begärd typ av presentationselement. Den undviker nästlade samlingsloopar och är praktisk för presentation‑omfattande inspektion eller formateringsändringar. I Node.js skapar du implementationer av återuppringnings‑gränssnitten med java.newProxy.

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

const java = require("java");
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

const presentation = new aspose.slides.Presentation("input.pptx");
try {
    const slideCallback = java.newProxy("com.aspose.slides.ForEach$ForEachSlideCallback", {
        invoke: function (slide, index) {
            console.log(`Slide ${index}: ${slide.getShapes().size()} shapes`);
        }
    });
    aspose.slides.ForEach.slide(presentation, slideCallback);

    const shapeCallback = java.newProxy("com.aspose.slides.ForEach$ForEachShapeCallback", {
        invoke: function (shape, slide, index) {
            console.log(`Shape ${index} on ${slide.getClass().getSimpleName()}: ${shape.getName()}`);
        }
    });
    aspose.slides.ForEach.shape(presentation, shapeCallback);

    const paragraphCallback = java.newProxy("com.aspose.slides.ForEach$ForEachParagraphCallback", {
        invoke: function (paragraph, slide, index) {
            console.log(`Paragraph ${index} on ${slide.getClass().getSimpleName()}: ${paragraph.getText()}`);
        }
    });
    aspose.slides.ForEach.paragraph(presentation, paragraphCallback);

    const portionCallback = java.newProxy("com.aspose.slides.ForEach$ForEachPortionCallback", {
        invoke: function (portion, paragraph, slide, index) {
            console.log(`Portion ${index} on ${slide.getClass().getSimpleName()}: ${portion.getText()}`);
        }
    });
    aspose.slides.ForEach.portion(presentation, portionCallback);
} finally {
    presentation.dispose();
}

Som standard inkluderar traversal av former och text i hela presentationen vanliga, master‑ och layout‑bilder. Överlagringar med en includeNotes‑parameter kan också behandla noteringsbilder. Använd direkta samlingsloopar när traverseringsordning, tidig avbrytning, filtrering före återuppringning eller detaljerad förälder‑barn‑kontroll är viktig.

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.

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

const presentation = new aspose.slides.Presentation("input.pptx");
try {
    const shapes = aspose.slides.Collect.shapes(presentation);
    const iterator = shapes.iterator();

    while (iterator.hasNext()) {
        const shape = iterator.next();
        console.log(`${shape.getName()}: ${shape.getClass().getSimpleName()}`);
    }
} finally {
    presentation.dispose();
}

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

Komprimera presentationsinnehåll

[Compress]-klassen kan ta bort oanvända strukturelement och minska inbäddade teckensnittsdatan:

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

const presentation = new aspose.slides.Presentation("input.pptx");
try {
    aspose.slides.Compress.removeUnusedLayoutSlides(presentation);
    aspose.slides.Compress.removeUnusedMasterSlides(presentation);
    aspose.slides.Compress.compressEmbeddedFonts(presentation);

    presentation.save("compressed.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

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

Vanliga frågor

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

Använd low‑code‑hjälparna när en standardoperation gäller en hel fil eller presentation och inte kräver detaljerad kontroll över enskilda element. Använd hela objektmodellen när du behöver välja specifika bilder, styra relationer mellan master och layout, inspektera mellansteg eller konfigurera ett beteende som hjälparen inte exponerar.

Kan Merger kombinera presentationer i olika filformat?

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

Behandlar ForEach master‑, layout‑ och noteringsbilder?

ForEach.slide itererar genom vanliga presentationsbilder. Presentation‑omfattande ForEach.shape, ForEach.paragraph och ForEach.portion inkluderar som standard vanliga, master‑ och layout‑bilder. Använd deras överlagringar med includeNotes satt till true för att inkludera noteringsbilder.

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 itererbart 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 inte minska filens storlek.

Sparas ändringar som görs av ForEach eller Compress automatiskt?

Nej. Dessa hjälparbeten verkar 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