Konwertuj indywidualny slajd w slajdach Java
Wprowadzenie do konwertowania poszczególnych slajdów w slajdach Java
W tym samouczku omówimy proces konwersji poszczególnych slajdów z prezentacji programu PowerPoint do formatu HTML przy użyciu Aspose.Slides for Java. W tym przewodniku krok po kroku znajdziesz kod źródłowy i wyjaśnienia, które pomogą Ci osiągnąć to zadanie.
Warunki wstępne
Zanim zaczniemy, upewnij się, że masz następujące elementy:
- Zainstalowana biblioteka Aspose.Slides dla Java.
- Plik prezentacji programu PowerPoint (
Individual-Slide.pptx
), który chcesz przekonwertować. - Skonfigurowano środowisko programistyczne Java.
Krok 1: Skonfiguruj projekt
- Utwórz projekt Java w preferowanym środowisku programistycznym.
- Dodaj bibliotekę Aspose.Slides for Java do swojego projektu.
Krok 2: Zaimportuj niezbędne klasy
W klasie Java zaimportuj wymagane klasy i skonfiguruj początkową konfigurację.
import com.aspose.slides.HtmlOptions;
import com.aspose.slides.HtmlFormatter;
import com.aspose.slides.INotesCommentsLayoutingOptions;
import com.aspose.slides.NotesPositions;
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
import com.aspose.slides.IHtmlFormattingController;
import com.aspose.slides.IHtmlGenerator;
import com.aspose.slides.ISlide;
import com.aspose.slides.IShape;
Krok 3: Zdefiniuj główną metodę konwersji
Utwórz metodę przeprowadzania konwersji poszczególnych slajdów. Pamiętaj o wymianie"Your Document Directory"
z rzeczywistą ścieżką do katalogu dokumentów.
public static void convertIndividualSlides() {
String dataDir = "Your Document Directory";
Presentation presentation = new Presentation(dataDir + "Individual-Slide.pptx");
try {
HtmlOptions htmlOptions = new HtmlOptions();
htmlOptions.setHtmlFormatter(HtmlFormatter.createCustomFormatter(new CustomFormattingController()));
INotesCommentsLayoutingOptions notesOptions = htmlOptions.getNotesCommentsLayouting();
notesOptions.setNotesPosition(NotesPositions.BottomFull);
// Zapisywanie pliku
for (int i = 0; i < presentation.getSlides().size(); i++) {
presentation.save(dataDir + "Individual-Slide" + (i + 1) + "_out.html", new int[]{i + 1}, SaveFormat.Html, htmlOptions);
}
} finally {
if (presentation != null) presentation.dispose();
}
}
Krok 4: Zaimplementuj CustomFormattingController
UtwórzCustomFormattingController
class do obsługi niestandardowego formatowania podczas konwersji.
public static class CustomFormattingController implements IHtmlFormattingController {
public void writeDocumentStart(IHtmlGenerator generator, IPresentation presentation) {
}
public void writeDocumentEnd(IHtmlGenerator generator, IPresentation presentation) {
}
public void writeSlideStart(IHtmlGenerator generator, ISlide slide) {
generator.addHtml(String.format(SlideHeader, generator.getSlideIndex() + 1));
}
public void writeSlideEnd(IHtmlGenerator generator, ISlide slide) {
generator.addHtml(SlideFooter);
}
public void writeShapeStart(IHtmlGenerator generator, IShape shape) {
}
public void writeShapeEnd(IHtmlGenerator generator, IShape shape) {
}
private static String SlideHeader = "<div class=\"slide\" name=\"slide\" id=\"slide{0}\">";
private static String SlideFooter = "</div>";
}
Krok 5: Wykonaj konwersję
Na koniec zadzwoń doconvertIndividualSlides
metoda wykonania procesu konwersji.
public static void main(String[] args) {
convertIndividualSlides();
}
Kompletny kod źródłowy do konwersji poszczególnych slajdów w slajdach Java
String dataDir = "Your Document Directory";
Presentation presentation = new Presentation(dataDir + "Individual-Slide.pptx");
try
{
HtmlOptions htmlOptions = new HtmlOptions();
htmlOptions.setHtmlFormatter(HtmlFormatter.createCustomFormatter(new CustomFormattingController()));
INotesCommentsLayoutingOptions notesOptions = htmlOptions.getNotesCommentsLayouting();
notesOptions.setNotesPosition(NotesPositions.BottomFull);
// Zapisywanie pliku
for (int i = 0; i < presentation.getSlides().size(); i++)
presentation.save(dataDir + "Individual Slide" + i + 1 + "_out.html", new int[]{i + 1}, SaveFormat.Html, htmlOptions);
}
finally
{
if (presentation != null) presentation.dispose();
}
}
public static class CustomFormattingController implements IHtmlFormattingController
{
public void writeDocumentStart(IHtmlGenerator generator, IPresentation presentation)
{
}
public void writeDocumentEnd(IHtmlGenerator generator, IPresentation presentation)
{
}
public void writeSlideStart(IHtmlGenerator generator, ISlide slide)
{
generator.addHtml(String.format(SlideHeader, generator.getSlideIndex() + 1));
}
public void writeSlideEnd(IHtmlGenerator generator, ISlide slide)
{
generator.addHtml(SlideFooter);
}
public void writeShapeStart(IHtmlGenerator generator, IShape shape)
{
}
public void writeShapeEnd(IHtmlGenerator generator, IShape shape)
{
}
private static String SlideHeader = "<div class=\"slide\" name=\"slide\" id=\"slide{0}\">";
private static String SlideFooter = "</div>";
Wniosek
Pomyślnie przekonwertowałeś pojedyncze slajdy z prezentacji programu PowerPoint do formatu HTML przy użyciu Aspose.Slides for Java. W tym samouczku przedstawiono niezbędny kod i kroki umożliwiające wykonanie tego zadania. Możesz dostosować wydruk i formatowanie zgodnie z własnymi wymaganiami.
Często zadawane pytania
Jak mogę bardziej dostosować dane wyjściowe HTML?
Możesz dostosować dane wyjściowe HTML, modyfikując plikCustomFormattingController
klasa. PoprawićwriteSlideStart
IwriteSlideEnd
metody zmiany struktury i stylu HTML slajdu.
Czy mogę przekonwertować wiele prezentacji programu PowerPoint za jednym razem?
Tak, możesz zmodyfikować kod, aby przeglądać wiele plików prezentacji i konwertować je indywidualnie, wywołując metodęconvertIndividualSlides
sposób na każdą prezentację.
Jak sobie poradzić z dodatkowym formatowaniem kształtów i tekstu na slajdach?
Możesz przedłużyćCustomFormattingController
klasę do obsługi formatowania specyficznego dla kształtu poprzez implementację metodywriteShapeStart
IwriteShapeEnd
metod i stosując w nich niestandardową logikę formatowania.