Alacsony kódú prezentációs műveletek JavaScript-ben

Áttekintés

aspose.slides névtér statikus segédosztályokat biztosít a gyakori bemutató-műveletekhez. Ezek a segédprogramok a gyakran használt objektummodell munkafolyamatokat fókuszált metódusokba csomagolják, így kevesebb kóddal konvertálhat vagy egyesíthet fájlokat, feldolgozhatja a bemutatóelemeket, gyűjtheti az alakzatokat, és eltávolíthatja a nem használt tartalmat.

Az alacsony kódú segédprogramok a leghasznosabbak, amikor a művelet egy teljes fájlra vagy bemutatóra vonatkozik, és az alapértelmezett munkafolyamat megfelel az igényeinek. Használja a teljes Aspose.Slides objektummodellt amikor finomhangolt vezérlésre van szükség az egyes diák, mesterdiák, elrendezések, alakzatok, export beállítások vagy a bemutatóelemek közötti kapcsolatok felett.

Az alábbi táblázat összefoglalja a rendelkezésre álló segédprogramokat:

Segédprogram Mire használható
Átalakítás Prezentáció konvertálása más formátumba közvetlen fájl‑fájl hívással.
Egyesítő Azonos formátumú teljes prezentációs fájlok egyesítése.
ForEach Művelet végrehajtása minden dia, alakzat, bekezdés vagy szövegrész esetén.
Gyűjtés Alakzatok lekérdezése a teljes prezentációból ismételt feldolgozás vagy elemzés céljából.
Tömörítés Nem használt mesterségek és elrendezések eltávolítása, valamint a beágyazott betűtípus adatok csökkentése.

Prezentáció átalakítása

Használja a Convert.autoByExtension metódust, ha a kimeneti fájl kiterjesztése elegendő az export formátum kiválasztásához. A metódus megnyitja a forrás prezentációt, meghatározza a szükséges formátumot a kimeneti úttól, és írja az eredményt.

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

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

A Convert osztály további dedikált metódusokat kínál PDF, SVG, JPEG, PNG és TIFF kimenethez. Használja a teljes objektummodellt, ha a prezentációt exportálás előtt meg kell vizsgálnia vagy módosítania, vagy be kell állítania egy export beállítást, amelyet a kiválasztott segédprogram nem tesz elérhetővé. Lásd a Prezentáció átalakítása oldalt a formátum specifikus munkafolyamatokért és opciókért.

Prezentációk egyesítése

Használja a Merger.process metódust a teljes prezentációs fájlok egy hívással történő egyesítéséhez. A bemeneti prezentációknak azonos fájlformátumúaknak kell lenniük.

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

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

A segédprogram megfelelő, amikor az összes dia egyetlen eredményhez kell, hogy hozzá legyen fűzve, anélkül, hogy egyenként kellene kiválasztani vagy átmappolni őket. Használja a teljes objektummodellt, ha kiválasztott diasorozatokat szeretne egyesíteni, célmástert vagy elrendezést alkalmazni, a szekciókat kifejezetten megőrizni, vagy különböző diaméreteket egyeztetni. Lásd a Prezentációk egyesítése oldalt ezekhez a forgatókönyvekhez.

Iterálás a prezentációelemeneken

Az ForEach osztály visszahívást hív meg minden kért típusú prezentációelem esetén. Elkerüli a beágyazott gyűjtemény ciklusokat, és kényelmes a prezentáció‑szintű ellenőrzéshez vagy formázás módosításhoz. Node.js‑ben a visszahívás interfészek megvalósításához használja a java.newProxy‑t.

A következő példa a ForEach.slide, ForEach.shape, ForEach.paragraph és ForEach.portion használatával ellenőrzi a megfelelő elemeket:

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();
}

Alapértelmezés szerint a prezentáció‑szintű alakzat‑ és szövegbejárás a normál, mester és elrendezés diákat is tartalmazza. Az includeNotes paraméterrel rendelkező túlterhelések a jegyzetdiákot is feldolgozhatják. Használjon közvetlen gyűjteményciklusokat, ha a bejárási sorrend, a korai kilépés, a visszahívás előtti szűrés vagy a részletes szülő‑gyermek vezérlés fontos.

Alakzatok gyűjtése

Használja a Collect.shapes metódust, ha egy teljes prezentáció összes alakzata gyűjteményére van szüksége ahelyett, hogy minden alakzatra egy visszahívást kapna. Ez hasznos, ha ugyanazt a halmazt többször szűrni, számolni vagy feldolgozni szeretné.

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();
}

Használja a ForEach.shape metódust ehelyett, amikor minden alakzatot azonnal kezelhet, és nincs szükség a gyűjtött eredmény megőrzésére.

Prezentáció tartalmának tömörítése

A Compress osztály eltávolíthatja a nem használt struktúrákat és csökkentheti a beágyazott betűtípus adatokat:

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();
}

Először távolítsa el a nem használt elrendezéseket, majd a nem használt mesterségeket, hogy egy elrendezés‑takarítás után hivatkozás nélküli mester is eltávolítható legyen. Mentse az optimalizált prezentációt egy új fájlba, ha a későbbiekben szüksége lehet az eredeti mesterségekre, elrendezésekre vagy a teljes beágyazott betűtípus adatra. További részletekért lásd a Diakeret és az Beágyazott betűtípus oldalakat.

GYIK

Mikor kell az alacsony kódú API-t használni a teljes objektummodell helyett?

Használja az alacsony kódú segédprogramokat, ha egy szabványos művelet egy teljes fájlra vagy prezentációra vonatkozik, és nem igényel részletes vezérlést az egyes elemek felett. Használja a teljes objektummodellt, ha konkrét diákat kell kiválasztania, a mester‑ és elrendezés‑kapcsolatokat kell irányítania, a köztes állapotot meg kell vizsgálnia, vagy olyan viselkedést kell beállítania, amelyet a segédprogram nem tesz elérhetővé.

Kombinálhatja a Merger a prezentációkat különböző fájlformátumokban?

Nem. A Merger.process ugyanabban a formátumban lévő bemeneti prezentációkat igényel. Először konvertálja a bemeneti fájlokat közös formátumba, például a Convert.autoByExtension segítségével, majd egyesítse a konvertált fájlokat.

Feldolgozza a ForEach a mester, az elrendezés és a jegyzetdiákat?

A ForEach.slide a normál prezentációs diákon iterál. A prezentáció‑szintű ForEach.shape, ForEach.paragraph és ForEach.portion műveletek alapértelmezés szerint a normál, mester és elrendezés diákat is tartalmazzák. Használja a includeNotes paraméterrel ellátott túlterheléseket, ha a jegyzetdiákat is bele akarja venni.

Mi a különbség a ForEach.shape és a Collect.shapes között?

Használja a ForEach.shape metódust, ha minden alakzatot azonnal szeretne feldolgozni egy visszahívásban. Használja a Collect.shapes metódust, ha egy iterálható eredményre van szüksége, amelyet megőrizhet, szűrhet, számlálhat vagy többször bejárhat.

Mindig kisebbé teszi a Compress a prezentáció fájlt?

Nem feltétlenül. Az eredmény attól függ, hogy a prezentáció tartalmaz‑e nem használt elrendezéseket, nem használt mesterségeket vagy beágyazott betűtípusokat nem használt karakterekkel. Ha ezek egyike sem áll fenn, a megfelelő Compress műveletek nem feltétlenül csökkentik a fájlméretet.

A ForEach vagy a Compress által végzett változtatások automatikusan mentődnek?

Nem. Ezek a segédprogramok a memóriában betöltött Presentation objektumon dolgoznak. Miután módosította az elemeket egy ForEach visszahívásban vagy futtatta a Compress műveletet, hívja meg a Presentation.save metódust az eredmény írásához.

Kapcsolódó cikkek