Presentatiedia's converteren naar afbeeldingen in Java
Inleiding
Aspose.Slides for Java maakt het gemakkelijk om PowerPoint- en OpenDocument-presentatieslides om te zetten naar verschillende afbeeldingsformaten, waaronder BMP, PNG, JPG (JPEG), GIF en andere.
Volg de volgende stappen om een slide naar een afbeelding te converteren:
- Definieer de gewenste conversie‑instellingen en selecteer de slides die u wilt exporteren door gebruik te maken van:
- De ITiffOptions interface, of
- De IRenderingOptions interface.
- Genereer de slide‑afbeelding door de getImage methode aan te roepen.
In Aspose.Slides for Java is een IImage een interface waarmee u kunt werken met afbeeldingen die via pixeldata zijn gedefinieerd. Met deze interface kunt u afbeeldingen opslaan in een breed scala aan formaten (BMP, JPG, PNG, enz.).
Converteer Slides naar Bitmap en Sla de Afbeeldingen op in PNG
U kunt een slide omzetten naar een bitmap‑object en deze direct in uw applicatie gebruiken. Als alternatief kunt u een slide naar een bitmap converteren en vervolgens de afbeelding opslaan in JPEG of een ander gewenst formaat.
Deze code toont hoe u de eerste slide van een presentatie kunt omzetten naar een bitmap‑object en vervolgens de afbeelding opslaat in PNG‑formaat:
Presentation presentation = new Presentation("Presentation.pptx");
try {
// Converteer de eerste dia in de presentatie naar een bitmap.
IImage image = presentation.getSlides().get_Item(0).getImage();
try {
// Sla de afbeelding op in PNG-formaat.
image.save("Slide_0.png", ImageFormat.Png);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Converteer Slides naar Afbeeldingen met Aangepaste Maten
U heeft mogelijk een afbeelding nodig van een bepaalde grootte. Met een overload van de getImage kunt u een slide omzetten naar een afbeelding met specifieke afmetingen (breedte en hoogte).
Deze voorbeeldcode toont hoe u dit kunt doen:
Dimension imageSize = new Dimension(1820, 1040);
Presentation presentation = new Presentation("Presentation.pptx");
try {
// Converteer de eerste dia in de presentatie naar een bitmap met de opgegeven grootte.
IImage image = presentation.getSlides().get_Item(0).getImage(imageSize);
try {
// Sla de afbeelding op in JPEG-formaat.
image.save("Slide_0.jpg", ImageFormat.Jpeg);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Converteer Slides met Notities en Commentaren naar Afbeeldingen
Sommige slides kunnen notities en commentaren bevatten.
Aspose.Slides biedt twee interfaces—ITiffOptions en IRenderingOptions—die u in staat stellen de rendering van presentatieslides naar afbeeldingen te beheersen. Beide interfaces bevatten de setSlidesLayoutOptions‑methode, waarmee u de weergave van notities en commentaren op een slide kunt configureren bij het omzetten naar een afbeelding.
Met de klasse NotesCommentsLayoutingOptions kunt u de gewenste positie voor notities en commentaren in de resulterende afbeelding opgeven.
Deze code laat zien hoe u een slide met notities en commentaren kunt converteren:
float scaleX = 2;
float scaleY = scaleX;
// Laad een presentatiebestand.
Presentation presentation = new Presentation("Presentation_with_notes_and_comments.pptx");
try {
NotesCommentsLayoutingOptions notesCommentsOptions = new NotesCommentsLayoutingOptions();
notesCommentsOptions.setNotesPosition(NotesPositions.BottomTruncated); // Stel de positie van de notities in.
notesCommentsOptions.setCommentsPosition(CommentsPositions.Right); // Stel de positie van de commentaren in.
notesCommentsOptions.setCommentsAreaWidth(500); // Stel de breedte van het commentaargebied in.
notesCommentsOptions.setCommentsAreaColor(Color.LIGHT_GRAY); // Stel de kleur van het commentaargebied in.
// Maak de renderopties aan.
RenderingOptions options = new RenderingOptions();
options.setSlidesLayoutOptions(notesCommentsOptions);
// Converteer de eerste dia van de presentatie naar een afbeelding.
IImage image = presentation.getSlides().get_Item(0).getImage(options, scaleX, scaleY);
try {
// Sla de afbeelding op in GIF-formaat.
image.save("Image_with_notes_and_comments_0.gif", ImageFormat.Gif);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Opmerking
In elk slide‑naar‑afbeelding‑conversieproces kan de setNotesPosition methodeBottomFull niet toepassen (om de positie voor notities op te geven) omdat de tekst van een notitie mogelijk te groot is, waardoor deze niet binnen de opgegeven afbeeldingsgrootte past.
Converteer Slides naar Afbeeldingen met TIFF‑Opties
De ITiffOptions interface biedt meer controle over het resulterende TIFF‑beeld door u parameters zoals grootte, resolutie, kleurenpalet en meer te laten specificeren.
Deze code toont een conversieproces waarbij TIFF‑opties worden gebruikt om een zwart‑wit afbeelding te genereren met een resolutie van 300 DPI en een grootte van 2160 × 2800:
// Laad een presentatiebestand.
Presentation presentation = new Presentation("sample.pptx");
try {
// Haal de eerste dia uit de presentatie.
ISlide slide = presentation.getSlides().get_Item(0);
// Configureer de instellingen van de uitvoer‑TIFF‑afbeelding.
TiffOptions tiffOptions = new TiffOptions();
tiffOptions.setImageSize(new Dimension(2160, 2880)); // Stel de afbeeldingsgrootte in.
tiffOptions.setPixelFormat(ImagePixelFormat.Format1bppIndexed); // Stel het pixel‑formaat in (zwart‑wit).
tiffOptions.setDpiX(300); // Stel de horizontale resolutie in.
tiffOptions.setDpiY(300); // Stel de verticale resolutie in.
// Converteer de dia naar een afbeelding met de opgegeven opties.
IImage image = slide.getImage(tiffOptions);
try {
// Sla de afbeelding op in TIFF-formaat.
image.save("output.tiff", ImageFormat.Tiff);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Opmerking
Tiff‑ondersteuning wordt niet gegarandeerd in versies ouder dan JDK 9.Converteer Alle Slides naar Afbeeldingen
Aspose.Slides stelt u in staat alle slides in een presentatie naar afbeeldingen te converteren, waardoor de volledige presentatie wordt omgezet in een reeks afbeeldingen.
Deze voorbeeldcode toont hoe u alle slides in een presentatie naar afbeeldingen converteert in Java:
float scaleX = 2;
float scaleY = scaleX;
Presentation presentation = new Presentation("Presentation.pptx");
try {
// Render de presentatie naar afbeeldingen dia per dia.
for (int i = 0 ; i < presentation.getSlides().size(); i++)
{
// Beheer verborgen dia's (render geen verborgen dia's).
if (presentation.getSlides().get_Item(i).getHidden())
continue;
// Converteer de dia naar een afbeelding.
IImage image = presentation.getSlides().get_Item(i).getImage(scaleX, scaleY);
try {
// Sla de afbeelding op in JPEG-formaat.
image.save("Slide_" + i + ".jpg", ImageFormat.Jpeg);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
Kleuremoji Rendering
Opmerking
Om kleuremojis correct weer te geven bij het converteren van presentatieslides naar afbeeldingen, moeten de emoji‑lettertypen die in de presentatie worden gebruikt geïnstalleerd en beschikbaar zijn op het systeem dat de conversie uitvoert. Bijvoorbeeld, als de presentatie Segoe UI Emoji gebruikt en dit lettertype ontbreekt, kunnen emoji’s in monochroom verschijnen in de uitvoerafbeeldingen.Veelgestelde Vragen
Ondersteunt Aspose.Slides het renderen van slides met animaties?
Nee, de getImage‑methode slaat alleen een statische afbeelding van de slide op, zonder animaties.
Kunnen verborgen slides geëxporteerd worden als afbeeldingen?
Ja, verborgen slides kunnen net als gewone slides worden verwerkt. Zorg er alleen voor dat ze zijn opgenomen in de verwerkingslus.
Kunnen afbeeldingen worden opgeslagen met schaduwen en effecten?
Ja, Aspose.Slides ondersteunt het renderen van schaduwen, transparantie en andere grafische effecten bij het opslaan van slides als afbeeldingen.