نحوه بارگذاری ارائهها در .NET
Aspose.Slides FOSS for .NET به شما امکان میدهد هر فایل .pptx را باز کنید، محتویات آن را بررسی کنید و یا آن را به PPTX ذخیره کنید یا دادهها را از آن استخراج کنید. این راهنما شامل باز کردن یک فایل، پیمایش اسلایدها، خواندن متن شکل و ذخیرهسازی دورانی است.
راهنمای گام به گام
مرحله 1: نصب بسته
dotnet add package Aspose.Slides.Fossمرحله ۲: باز کردن یک ارائه موجود
مسیر فایل را به new Presentation() بدهید. برای اطمینان از پاکسازی از یک عبارت using استفاده کنید.
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);بخشهای XML ناشناخته در فایل منبع بهصورت دقیق حفظ میشوند: کتابخانه هرگز محتوایی را که هنوز درک نمیکند حذف نمیکند.
مرحله ۳: بررسی اسلایدها
بر روی تمام اسلایدها تکرار کنید و اندیس آنها را چاپ کنید:
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");
}مرحله ۴: خواندن متن شکل
بر روی اشکال تکرار کنید و متن را از اشکالی که 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}");
}
}
}مرحله 5: خواندن ویژگیهای سند
دسترسی به ویژگیهای اصلی سند از 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}");مرحله 6: ذخیرهسازی دورگرد
پس از بررسی یا اصلاح ارائه، آن را بهصورت PPTX ذخیره کنید:
prs.Save("output.pptx", SaveFormat.Pptx);ذخیره در مسیر متفاوت یک فایل جدید ایجاد میکند. ذخیره در همان مسیر فایل اصلی را بازنویسی میکند.
مسائل رایج و راهحلها
FileNotFoundException
اطمینان حاصل کنید که مسیر فایل .pptx نسبت به دایرکتوری کاری صحیح است. برای ساخت مسیر مقاوم از Path.Combine استفاده کنید:
string path = Path.Combine(AppContext.BaseDirectory, "assets", "deck.pptx");
using var prs = new Presentation(path);Exception: File format is not supported
کتابخانه فقط .pptx (Office Open XML) را پشتیبانی میکند. فایلهای قدیمی .ppt (PowerPoint باینری 97-2003) پشتیبانی نمیشوند.
اشکال ویژگی TextFrame ندارند
برخی اشکال (Connector، PictureFrame) یک TextFrame ندارند. به IAutoShape تبدیل کنید و قبل از دسترسی به متن، مقدار null را بررسی کنید.
سوالات متداول
آیا بارگذاری تمام محتوای اصلی را حفظ میکند؟
بله. بخشهای ناشناخته XML بهصورت دقیق در ذخیرهسازی دورانی حفظ میشوند. کتابخانه هیچ محتوای XMLی را که هنوز شناسایی نکرده است حذف نخواهد کرد.
آیا میتوانم یک فایل PPTX محافظتشده با رمز عبور را بارگذاری کنم؟
ارائههای دارای رمز عبور (رمزگذاریشده) در این نسخه پشتیبانی نمیشوند.
آیا میتوانم تصاویر جاسازیشده را استخراج کنم؟
دسترسی به مجموعه تصاویر: prs.Images ImageCollection را برمیگرداند. هر تصویر دارای ویژگیهایی برای خواندن دادههای خام تصویر است.
آیا بارگذاری از یک MemoryStream پشتیبانی میشود؟
بله. سازنده Presentation یک Stream میپذیرد:
using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");