Converti diapositive PowerPoint in PNG su Android
Panoramica
Questo articolo spiega come convertire le diapositive di una presentazione in immagini PNG utilizzando Aspose.Slides per Android tramite Java. È possibile caricare presentazioni in formati come PPT, PPTX e ODP, renderizzare ogni diapositiva e salvarla come immagine PNG separata.
Gli esempi seguenti mostrano il rendering alla scala predefinita, l’aumento della scala, la specifica delle dimensioni di output in pixel e la scelta di uno stile di rendering a gradiente.
Converti PowerPoint in PNG
Carica una presentazione con la classe Presentation e accedi alle sue diapositive tramite la collezione Presentation.getSlides . L’esempio rende ogni diapositiva con ISlide.getImage senza parametri per creare una miniatura. Quindi chiama IImage.save con ImageFormat.Png per salvare ogni diapositiva renderizzata come immagine PNG.
import com.aspose.slides.*;
Presentation presentation = new Presentation("presentation.pptx");
try {
int slideCount = presentation.getSlides().size();
for (int index = 0; index < slideCount; index++) {
ISlide slide = presentation.getSlides().get_Item(index);
IImage image = slide.getImage();
try {
image.save("slide_" + index + ".png", ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
Note
La sovraccarico di ISlide.getImage senza parametri esegue il rendering a una scala di 0,2. Per esempio, una diapositiva di 720 × 540 punti produce una miniatura di 144 × 108 pixel. Per controllare le dimensioni di output, usa le sovraccarichi con fattori di scala o una dimensione immagine esplicita mostrata di seguito.Converti PowerPoint in PNG con Dimensioni Personalizzate
Passa i fattori di scala orizzontale e verticale a ISlide.getImage per controllare le dimensioni renderizzate. In questo esempio, entrambi i fattori sono 2, quindi una diapositiva di 720 × 540 punti produce un’immagine di 1440 × 1080 pixel. Fattori di scala uguali preservano il rapporto d’aspetto della diapositiva. Ogni immagine viene salvata in formato PNG con IImage.save.
import com.aspose.slides.*;
Presentation presentation = new Presentation("presentation.pptx");
try {
float scaleX = 2f;
float scaleY = scaleX;
int slideCount = presentation.getSlides().size();
for (int index = 0; index < slideCount; index++) {
ISlide slide = presentation.getSlides().get_Item(index);
IImage image = slide.getImage(scaleX, scaleY);
try {
image.save("slide_" + index + ".png", ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
Converti PowerPoint in PNG con Dimensione Personalizzata
Per specificare le dimensioni di output in pixel, passa una dimensione a ISlide.getImage invece dei fattori di scala. Questo esempio renderizza ogni diapositiva a 960 × 720 pixel e salva il risultato con IImage.save. Scegli dimensioni che corrispondono al rapporto d’aspetto della diapositiva per evitare lo stiramento dell’immagine.
import com.aspose.slides.*;
import com.aspose.slides.android.Size;
Presentation presentation = new Presentation("presentation.pptx");
try {
Size imageSize = new Size(960, 720);
int slideCount = presentation.getSlides().size();
for (int index = 0; index < slideCount; index++) {
ISlide slide = presentation.getSlides().get_Item(index);
IImage image = slide.getImage(imageSize);
try {
image.save("slide_" + index + ".png", ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
Scegli uno Stile di Rendering a Gradiente
Supponiamo che una diapositiva contenga riempimenti a gradiente, ma le transizioni nel PNG esportato appaiano più chiare o in altro modo diverse da quelle visualizzate in PowerPoint. È possibile utilizzare il metodo SaveOptions.setGradientStyle ereditato da RenderingOptions per scegliere come vengono renderizzati i gradienti.
Scarica gradient-styles.pptx e posizionalo nella directory di lavoro dell’applicazione. La sua prima diapositiva contiene due gradienti lineari: ciano verso arancione nella parte superiore e blu verso giallo nella parte inferiore. Ogni gradiente ha due fermate, al 0% e al 100%.
L’esempio seguente carica questa presentazione e renderizza la stessa prima diapositiva in entrambi i modi con ISlide.getImage.
import com.aspose.slides.*;
Presentation presentation = new Presentation("gradient-styles.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
int[] gradientStyles = { GradientStyle.Default, GradientStyle.PowerPointUI };
for (int style : gradientStyles) {
RenderingOptions options = new RenderingOptions();
options.setGradientStyle(style);
String styleName = style == GradientStyle.Default ? "Default" : "PowerPointUI";
IImage image = slide.getImage(options, 1f, 1f);
try {
image.save("gradient-" + styleName + ".png", ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
| Default | PowerPointUI |
|---|---|
![]() |
![]() |
In questo esempio, Default produce colori intermedi più chiari, mentre PowerPointUI produce colori intermedi più scuri. La differenza dipende dai colori e dalle fermate nel gradiente.
Scegli Default quando l’output standard di Aspose.Slides soddisfa le tue esigenze. Prova PowerPointUI quando la tua priorità è replicare l’aspetto in PowerPoint. Confronta entrambi gli output con il risultato desiderato; nessuna modalità è universalmente preferibile.
FAQ
Come posso esportare una forma specifica, come un grafico o un’immagine, invece dell’intera diapositiva?
Aspose.Slides supporta la generazione di miniature per forme individuali, consentendo di renderizzare una forma come immagine PNG.
La conversione parallela è supportata su un server?
Sì. Usa un’istanza di presentazione separata per ogni thread o processo; non condividere un’unica istanza tra i thread.
Quali sono le limitazioni della versione di valutazione quando si esporta in PNG?
La modalità di valutazione aggiunge una filigrana alle immagini di output e applica altre restrizioni finché non viene applicata una licenza.

