Cara Memuat Persembahan dalam .NET

Cara Memuat Persembahan dalam .NET

Aspose.Slides FOSS for .NET lets you open any .pptx fail, periksa kandungannya, dan sama ada simpan semula ke PPTX atau ekstrak data daripadanya. Panduan ini meliputi membuka fail, mengiterasi slaid, membaca teks bentuk, dan menyimpan semula secara round‑tripping.

Panduan Langkah demi Langkah

Langkah 1: Pasang Pakej

dotnet add package Aspose.Slides.Foss

Langkah 2: Buka Persembahan Sedia Ada

Hantar laluan fail kepada new Presentation(). Gunakan satu using pernyataan 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);

Bahagian XML yang tidak diketahui dalam fail sumber dipelihara secara verbatim: perpustakaan tidak pernah mengeluarkan kandungan yang belum difahaminya.


Langkah 3: Periksa Slaid

Ulangi semua slaid dan cetak indeks mereka:

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 bentuk-bentuk dan baca teks daripada bentuk yang mempunyai 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 Sifat Dokumen

Akses sifat dokumen teras 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 Pusingan Balik

Selepas memeriksa atau mengubah persembahan, simpan kembali ke PPTX:

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

Menyimpan ke laluan yang berbeza akan mencipta fail baru. Menyimpan ke laluan yang sama akan menulis ganti fail asal.


Isu Umum dan Penyelesaian

FileNotFoundException

Semak bahawa laluan ke .pptx fail adalah betul relatif kepada direktori kerja. Gunakan Path.Combine untuk pembinaan laluan yang kukuh:

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

Exception: File format is not supported

Pustaka menyokong .pptx (Office Open XML) sahaja. Legasi .ppt (binary PowerPoint 97-2003) fail tidak disokong.

Bentuk tidak mempunyai sifat TextFrame

Beberapa bentuk (Connector, PictureFrame) tidak mempunyai TextFrame. Tukar kepada IAutoShape dan semak null sebelum mengakses teks.


Soalan Lazim

Adakah pemuatan mengekalkan semua kandungan asal?

Ya. Bahagian XML yang tidak dikenali dipelihara secara verbatim semasa simpanan pusingan balik. Pustaka tidak akan membuang sebarang kandungan XML yang belum dikenali.

Bolehkah saya memuatkan PPTX yang dilindungi kata laluan?

Pembentangan yang dilindungi kata laluan (dienkripsi) tidak disokong dalam edisi ini.

Bolehkah saya mengekstrak imej terbenam?

Akses koleksi imej: prs.Images mengembalikan ImageCollection. Setiap imej mempunyai sifat untuk membaca data imej mentah.

Adakah pemuatan dari MemoryStream disokong?

Ya. The Presentation constructor menerima a Stream:

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

Lihat Juga

 Bahasa Melayu