Cara Memuat Presentasi di .NET

Cara Memuat Presentasi di .NET

Aspose.Slides FOSS for .NET memungkinkan Anda membuka file .pptx apa pun, memeriksa isinya, dan baik menyimpannya kembali ke PPTX atau mengekstrak data darinya. Panduan ini mencakup membuka file, mengiterasi slide, membaca teks shape, dan round‑tripping penyimpanan.

Panduan Langkah-demi-Langkah

Langkah 1: Instal Paket

dotnet add package Aspose.Slides.Foss

Langkah 2: Buka Presentasi yang Ada

Berikan jalur file ke new Presentation(). Gunakan pernyataan using untuk memastikan pembersihan.

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation("input.pptx");
Console.WriteLine($"Slide count: {prs.Slides.Count}");
prs.Save("output.pptx", SaveFormat.Pptx);

Bagian XML yang tidak dikenal dalam file sumber dipertahankan secara verbatim: perpustakaan tidak pernah menghapus konten yang belum dipahaminya.


Langkah 3: Periksa Slide

Iterasi semua slide dan cetak indeksnya:

using Aspose.Slides.Foss;

using var prs = new Presentation("deck.pptx");
for (int i = 0; i < prs.Slides.Count; i++)
{
    var slide = prs.Slides[i];
    int shapeCount = slide.Shapes.Count;
    Console.WriteLine($"Slide {i}: {shapeCount} shapes");
}

Langkah 4: Baca Teks Bentuk

Iterasi pada bentuk dan baca teks dari bentuk yang memiliki TextFrame:

using Aspose.Slides.Foss;

using var prs = new Presentation("deck.pptx");
foreach (var slide in prs.Slides)
{
    foreach (var shape in slide.Shapes)
    {
        if (shape is IAutoShape autoShape && autoShape.TextFrame != null)
        {
            string text = autoShape.TextFrame.Text;
            if (!string.IsNullOrWhiteSpace(text))
                Console.WriteLine($"  Shape text: {text}");
        }
    }
}

Langkah 5: Baca Properti Dokumen

Akses properti dokumen inti dari prs.DocumentProperties:

using Aspose.Slides.Foss;

using var prs = new Presentation("deck.pptx");
var props = prs.DocumentProperties;
Console.WriteLine($"Title:   {props.Title}");
Console.WriteLine($"Author:  {props.Author}");
Console.WriteLine($"Subject: {props.Subject}");

Langkah 6: Simpan Putar Balik

Setelah memeriksa atau memodifikasi presentasi, simpan kembali ke PPTX:

prs.Save("output.pptx", SaveFormat.Pptx);

Menyimpan ke jalur yang berbeda membuat file baru. Menyimpan ke jalur yang sama menimpa file asli.


Masalah Umum dan Solusi

FileNotFoundException

Periksa bahwa jalur ke file .pptx sudah benar relatif terhadap direktori kerja. Gunakan Path.Combine untuk konstruksi jalur yang kuat:

string path = Path.Combine(AppContext.BaseDirectory, "assets", "deck.pptx");
using var prs = new Presentation(path);

Exception: File format is not supported

Perpustakaan hanya mendukung .pptx (Office Open XML). File .ppt (PowerPoint biner 97-2003) lama tidak didukung.

Shapes tidak memiliki properti TextFrame

Beberapa bentuk (Connector, PictureFrame) tidak memiliki TextFrame. Lakukan cast ke IAutoShape dan periksa null sebelum mengakses teks.


Pertanyaan yang Sering Diajukan

Apakah pemuatan mempertahankan semua konten asli?

Ya. Bagian XML yang tidak dikenal dipertahankan secara verbatim pada penyimpanan round‑trip. Perpustakaan tidak akan menghapus konten XML apa pun yang belum dikenalnya.

Bisakah saya memuat PPTX yang dilindungi kata sandi?

Presentasi yang dilindungi kata sandi (terenkripsi) tidak didukung dalam edisi ini.

Bisakah saya mengekstrak gambar yang disematkan?

Akses koleksi gambar: prs.Images mengembalikan ImageCollection. Setiap gambar memiliki properti untuk membaca data gambar mentah.

Apakah memuat dari MemoryStream didukung?

Ya. Konstruktor Presentation menerima Stream:

using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");

Lihat Juga

 Bahasa Indonesia