Konwertowanie prezentacji PowerPoint do dokumentów Word w .NET

Przegląd

Ten artykuł dostarcza rozwiązanie dla programistów dotyczące konwertowania prezentacji PowerPoint i OpenDocument na dokumenty Word przy użyciu Aspose.Slides dla .NET i Aspose.Words dla .NET. Instrukcja krok po kroku prowadzi Cię przez każdy etap procesu konwersji.

Konwertowanie prezentacji do dokumentu Word

Postępuj zgodnie z poniższymi instrukcjami, aby przekonwertować prezentację PowerPoint lub OpenDocument na dokument Word:

  1. Utwórz instancję klasy Presentation i załaduj plik prezentacji.
  2. Utwórz instancje klas Document i DocumentBuilder, aby wygenerować dokument Word.
  3. Ustaw rozmiar strony dokumentu Word, aby odpowiadał rozmiarowi prezentacji, używając właściwości DocumentBuilder.PageSetup.
  4. Ustaw marginesy w dokumencie Word, używając właściwości DocumentBuilder.PageSetup.
  5. Przejdź przez wszystkie slajdy prezentacji, używając właściwości Presentation.Slides.
    • Wygeneruj obraz slajdu, używając metody GetImage z interfejsu ISlide, i zapisz go do strumienia pamięci.
    • Dodaj obraz slajdu do dokumentu Word, używając metody InsertImage z klasy DocumentBuilder.
  6. Zapisz dokument Word do pliku.

Załóżmy, że mamy prezentację „sample.pptx”, która wygląda następująco:

Prezentacja PowerPoint

// Załaduj plik prezentacji.
using var presentation = new Presentation("sample.pptx");

// Utwórz obiekty Document i DocumentBuilder.
var document = new Document();
var builder = new DocumentBuilder(document);

// Ustaw rozmiar strony w dokumencie Word.
var slideSize = presentation.SlideSize.Size;
builder.PageSetup.PageWidth = slideSize.Width;
builder.PageSetup.PageHeight = slideSize.Height;

// Ustaw marginesy w dokumencie Word.
builder.PageSetup.LeftMargin = 0;
builder.PageSetup.RightMargin = 0;
builder.PageSetup.TopMargin = 0;
builder.PageSetup.BottomMargin = 0;

const float scaleX = 2, scaleY = 2;

// Przejdź przez wszystkie slajdy prezentacji.
foreach (var slide in presentation.Slides)
{
    // Wygeneruj obraz slajdu i zapisz go do strumienia pamięci.
    using var image = slide.GetImage(scaleX, scaleY);
    using var imageStream = new MemoryStream();
    image.Save(imageStream, ImageFormat.Png);

    // Dodaj obraz slajdu do dokumentu Word.
    imageStream.Seek(0, SeekOrigin.Begin);
    builder.InsertImage(imageStream.ToArray(), builder.PageSetup.PageWidth, builder.PageSetup.PageHeight);

    builder.InsertBreak(BreakType.PageBreak);
}

// Zapisz dokument Word do pliku.
document.Save("output.docx");

Wynik:

Dokument Word

FAQ

Jakie komponenty należy zainstalować, aby konwertować prezentacje PowerPoint i OpenDocument na dokumenty Word?

Wystarczy dodać odpowiednie pakiety NuGet dla Aspose.Slides for .NET i Aspose.Words for .NET do swojego projektu C#. Obie biblioteki działają jako samodzielne API i nie ma wymogu posiadania zainstalowanego Microsoft Office.

Czy wszystkie formaty prezentacji PowerPoint i OpenDocument są obsługiwane?

Aspose.Slides for .NET obsługuje wszystkie formaty prezentacji, w tym PPT, PPTX, ODP oraz inne popularne typy plików. Dzięki temu możesz pracować z prezentacjami utworzonymi w różnych wersjach Microsoft PowerPoint.