Cara Memuatkan Pembentangan dalam .NET
Aspose.Slides FOSS for .NET membolehkan anda membuka mana-mana fail .pptx, memeriksa kandungannya, dan sama ada menyimpannya kembali ke PPTX atau mengekstrak data daripadanya. Panduan ini merangkumi membuka fail, mengulangi slaid, membaca teks bentuk, dan proses simpan semula.
Panduan Langkah demi Langkah
Langkah 1: Pasang Pakej
dotnet add package Aspose.Slides.FossLangkah 2: Buka Persembahan Sedia Ada
Hantar laluan fail kepada 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);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 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 ke atas 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
Selepas memeriksa atau mengubah suai persembahan, simpan semula ke PPTX:
prs.Save("output.pptx", SaveFormat.Pptx);Menyimpan ke laluan yang berbeza mencipta fail baru. Menyimpan ke laluan yang sama menimpa fail asal.
Isu Umum dan Penyelesaian
FileNotFoundException
Semak bahawa laluan ke fail .pptx 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
Perpustakaan menyokong .pptx (Office Open XML) sahaja. Fail .ppt (PowerPoint binari 97-2003) warisan tidak disokong.
Shapes tidak mempunyai properti TextFrame
Beberapa bentuk (Connector, PictureFrame) tidak mempunyai TextFrame. Tukar kepada IAutoShape dan periksa null sebelum mengakses teks.
Soalan Lazim
Adakah pemuatan mengekalkan semua kandungan asal?
Ya. Bahagian XML yang tidak dikenali dipelihara secara tepat semasa simpanan pusingan. Pustaka tidak akan mengeluarkan sebarang kandungan XML yang belum dikenali.
Bolehkah saya memuatkan PPTX yang dilindungi kata laluan?
Pembentangan yang dilindungi kata laluan (disulitkan) 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 memuatkan dari MemoryStream disokong?
Ya. Pembina Presentation menerima Stream:
using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");