Otwieranie prezentacji w Node.js via .NET

Przegląd

Aspose.Slides for Node.js via .NET otwiera prezentacje PowerPoint i OpenDocument, takie jak pliki PPTX, PPT oraz ODP, z podanej ścieżki pliku lub z obiektu Node.js Buffer. Ten artykuł pokazuje oba sposoby, odczytuje liczbę slajdów i zapisuje otwartą prezentację w innym formacie.

Przykłady zakładają, że w folderze projektu znajduje się prezentacja o nazwie sample.pptx, którą utworzyłeś w Installation. Każda prezentacja PowerPoint się sprawdzi. Zapisz każdy przykład jako plik .js w folderze projektu i uruchom go z tego folderu poleceniem node.

Otwórz prezentację z pliku

Aby otworzyć prezentację, przekaż jej ścieżkę do konstruktora Presentation. Aspose.Slides wykrywa format na podstawie zawartości pliku, a nie jego rozszerzenia, więc ten sam kod otwiera pliki PPTX, PPT i ODP. Ścieżka względna jest rozwiązywana względem bieżącego katalogu roboczego, którym jest katalog projektu, gdy uruchamiasz skrypt z tego miejsca.

const { Presentation } = require("aspose.slides.via.net");

const presentation = new Presentation("sample.pptx");
try {
    console.log("Slide count: " + presentation.slides.count);
} finally {
    presentation.dispose();
}

Skrypt wypisuje liczbę slajdów w sample.pptx, np. Slide count: 9. Właściwość count kolekcji slides obejmuje także ukryte slajdy. Wywołaj dispose w bloku finally, jak pokazano, aby zasoby .NET powiązane z prezentacją zostały zwolnione, nawet jeśli kod zakończy się błędem.

Otwórz prezentację z bufora

Gdy prezentacja pochodzi z bazy danych, przesyłki HTTP lub innego źródła, które dostarcza bajty zamiast ścieżki pliku, przekaż obiekt Node.js Buffer jako drugi argument konstruktora i null jako pierwszy. Poniższy przykład wczytuje sample.pptx do bufora, aby zasymulować takie źródło:

const fs = require("fs");
const { Presentation } = require("aspose.slides.via.net");

const presentationData = fs.readFileSync("sample.pptx");

const presentation = new Presentation(null, presentationData);
try {
    console.log("Slide count: " + presentation.slides.count);
} finally {
    presentation.dispose();
}

Skrypt wypisuje tę samą liczbę slajdów co poprzedni przykład. Drugi argument musi być typu Buffer. Dla innego typu, takiego jak Uint8Array, konstruktor nie zgłasza błędu; tworzy nową prezentację z jednym pustym slajdem. Najpierw skonwertuj inne typy binarne przy użyciu Buffer.from.

Zapisz prezentację w innym formacie

Aby przekonwertować prezentację na inny format, otwórz ją i zapisz z inną wartością SaveFormat. Poniższy przykład wypisuje format wykryty przez Aspose.Slides, zwracany przez właściwość sourceFormat, i zapisuje prezentację jako dokument OpenDocument:

const { Presentation, SaveFormat } = require("aspose.slides.via.net");

const presentation = new Presentation("sample.pptx");
try {
    console.log("Source format: " + presentation.sourceFormat);
    presentation.save("sample.odp", SaveFormat.Odp);
} finally {
    presentation.dispose();
}

Skrypt wypisuje Source format: Pptx i tworzy plik sample.odp, który zawiera te same slajdy. sourceFormat zwraca Ppt, Pptx lub Odp. Aby zapisać jako PDF lub obrazy, zobacz Convert PowerPoint to PDF oraz Convert Slides to Images.

FAQ

Jak otworzyć prezentację zabezpieczoną hasłem?

Utwórz obiekt LoadOptions, ustaw jego właściwość password i przekaż obiekt jako trzeci argument konstruktora: new Presentation("protected.pptx", null, loadOptions). Bez poprawnego hasła konstruktor zgłasza błąd.

Dlaczego konstruktor zgłasza Error z pustą wiadomością?

Kiedy konstruktor Presentation nie powiedzie się w .NET, np. z powodu brakującego pliku, niewłaściwego formatu lub nieprawidłowego hasła, JavaScript otrzymuje Error bez komunikatu. Przed otwarciem pliku sprawdź, czy istnieje względem katalogu roboczego, np. przy użyciu fs.existsSync.

Jakie formaty mogę otworzyć?

Formaty prezentacji PowerPoint i OpenDocument, w tym PPT, PPTX, PPS, POT, POTX, PPTM, ODP, OTP oraz FODP.