Operace prezentací s nízkým kódem na Androidu

Přehled

Balíček com.aspose.slides poskytuje statické pomocné třídy pro běžné operace s prezentacemi. Tyto pomocníky zapouzdřují často používané workflow objektového modelu do cílených metod, takže můžete konvertovat nebo slučovat soubory, zpracovávat prvky prezentace, shromažďovat tvary a odstraňovat nepoužívaný obsah s menším množstvím kódu.

Nástroje s nízkým kódem jsou nejvíce užitečné, když se operace týká celého souboru nebo prezentace a výchozí workflow odpovídá vašim požadavkům. Použijte plný Aspose.Slides object model, když potřebujete detailní kontrolu nad jednotlivými snímky, hlavami, rozvržením, tvary, nastavením exportu nebo vztahy mezi prvky prezentace.

The following table summarizes the available helpers:

Helper Use it for
Convert Převod prezentace do jiného formátu pomocí přímého volání soubor na soubor.
Merger Kombinování kompletních souborů prezentací stejného formátu.
ForEach Spuštění akce pro každý snímek, tvar, odstavec nebo část textu.
Collect Získání tvarů z celé prezentace pro opakované zpracování nebo analýzu.
Compress Odstranění nepoužívaných hlav a rozvržení a redukce vložených fontových dat.

Převést prezentaci

Použijte Convert.autoByExtension když je přípona výstupního souboru dostatečná pro výběr exportního formátu. Metoda otevře zdrojovou prezentaci, určí požadovaný formát z výstupní cesty a zapíše výsledek.

import com.aspose.slides.Convert;

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

Třída Convert také poskytuje dedikované metody pro výstup do PDF, SVG, JPEG, PNG a TIFF. Použijte plný objektový model, když potřebujete před exportem prohlédnout nebo upravit prezentaci nebo nakonfigurovat exportní volbu, která není dostupná ve vybraném pomocníkovi. Viz Convert Presentation pro workflow a možnosti specifické pro formát.

Sloučit prezentace

Použijte Merger.process k sloučení kompletních souborů prezentací jedním voláním. Vstupní prezentace musí mít stejný formát souboru.

import com.aspose.slides.Merger;

String[] inputFiles = { "part-1.pptx", "part-2.pptx" };
Merger.process(inputFiles, "merged.pptx");

Tento pomocník je vhodný, když mají být všechny snímky připojeny do jednoho výsledku bez individuálního výběru nebo přemapování. Použijte plný objektový model, když potřebujete sloučit vybrané snímky, použít cílovou hlavu nebo rozvržení, explicitně zachovat sekce nebo sladit různé velikosti snímků. Viz Merge Presentations pro tyto scénáře.

Iterovat přes prvky prezentace

Třída ForEach vyvolá zpětné volání pro každý požadovaný typ prvku prezentace. Vyhýbá se vnořeným smyčkám kolekcí a je praktická pro kontrolu nebo změny formátování na úrovni celé prezentace.

Následující příklad používá ForEach.slide, ForEach.shape, ForEach.paragraph, a ForEach.portion aby prozkoumal odpovídající prvky:

import com.aspose.slides.*;

Presentation presentation = new Presentation("input.pptx");
try {
    ForEach.slide(presentation, (slide, index) -> {
        System.out.println(String.format("Slide %d: %d shapes", index, slide.getShapes().size()));
    });

    ForEach.shape(presentation, (shape, slide, index) -> {
        System.out.println(String.format("Shape %d on %s: %s", index, slide.getClass().getSimpleName(), shape.getName()));
    });

    ForEach.paragraph(presentation, (paragraph, slide, index) -> {
        System.out.println(String.format("Paragraph %d on %s: %s", index, slide.getClass().getSimpleName(), paragraph.getText()));
    });

    ForEach.portion(presentation, (portion, paragraph, slide, index) -> {
        System.out.println(String.format("Portion %d on %s: %s", index, slide.getClass().getSimpleName(), portion.getText()));
    });
} finally {
    presentation.dispose();
}

Ve výchozím nastavení zahrnuje procházení tvarů a textu v celé prezentaci normální, hlavní a rozvržení snímky. Přetížení s parametrem includeNotes mohou také zpracovávat snímky poznámek. Použijte přímé smyčky kolekcí, když je důležitý pořadí průchodu, předčasný ukončení, filtrování před voláním zpětné funkce nebo detailní kontrola nad rodičovským a podřízeným vztahem.

Sbírat tvary

Použijte Collect.shapes když potřebujete kolekci všech tvarů v prezentaci místo zpětného volání pro každý tvar. To je užitečné, pokud bude stejná sada filtrována, počítána nebo zpracovávána vícekrát.

import com.aspose.slides.*;

Presentation presentation = new Presentation("input.pptx");
try {
    Iterable<Shape> shapes = Collect.shapes(presentation);

    for (Shape shape : shapes) {
        System.out.println(String.format("%s: %s", shape.getName(), shape.getClass().getSimpleName()));
    }
} finally {
    presentation.dispose();
}

Použijte místo toho ForEach.shape když může být každý tvar zpracován okamžitě a není nutné uchovávat shromážděný výsledek.

Komprimovat obsah prezentace

Třída Compress může odstranit nepoužívané strukturální prvky a snížit vložená data fontů:

import com.aspose.slides.*;

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

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

Odstraňte nepoužívaná rozvržení před nepoužívanými hlavami, aby mohla být hlavní hlava, která se po vyčištění rozvržení stane neodkazovanou, také odstraněna. Uložte optimalizovanou prezentaci do nového souboru, pokud budete později potřebovat originální hlavy, rozvržení nebo kompletní vložená data fontů. Další podrobnosti viz Slide Master a Embedded Font.

Často kladené otázky

Kdy bych měl použít low-code API místo plného objektového modelu?

Nástroje s nízkým kódem použijte, když standardní operace platí pro celý soubor nebo prezentaci a nevyžaduje detailní kontrolu nad jednotlivými prvky. Plný objektový model použijte, když potřebujete vybrat konkrétní snímky, řídit vztahy hlav a rozvržení, prohlédnout mezistav nebo nakonfigurovat chování, které pomocník neumožňuje.

Může Merger kombinovat prezentace v různých formátech souborů?

Ne. Merger.process vyžaduje vstupní prezentace ve stejném formátu. Nejprve převeďte vstupní soubory do společného formátu, například pomocí Convert.autoByExtension, a poté sloučte převedené soubory.

Zpracovává ForEach hlavní, rozvržení a snímky poznámek?

ForEach.slide iteruje přes normální snímky prezentace. Celoprezentační operace ForEach.shape, ForEach.paragraph, a ForEach.portion zahrnují ve výchozím nastavení normální, hlavní a rozvržení snímky. Použijte jejich přetížení s includeNotes nastaveným na true, aby byly zahrnuty i snímky poznámek.

Jaký je rozdíl mezi ForEach.shape a Collect.shapes?

Použijte ForEach.shape, když chcete zpracovat každý tvar okamžitě pomocí zpětného volání. Použijte Collect.shapes, když potřebujete iterovatelný výsledek, který lze uchovat, filtrovat, počítat nebo procházet vícekrát.

Zmenšuje Compress vždy velikost souboru prezentace?

Není to nutně. Výsledek závisí na tom, zda prezentace obsahuje nepoužívaná rozvržení, nepoužívané hlavy nebo vložené fonty s nepoužívanými znaky. Pokud žádné z těchto věcí nejsou přítomny, odpovídající operace Compress nemusí zmenšit velikost souboru.

Ukládají se změny provedené pomocí ForEach nebo Compress automaticky?

Ne. Tyto pomocníky pracují s načteným objektem Presentation v paměti. Po změně elementů v zpětném volání ForEach nebo po spuštění Compress, zavolejte Presentation.save, abyste výsledek zapsali.

Související články