چگونه ارائه‌ها را در .NET بارگذاری کنیم

چگونه ارائه‌ها را در .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}");

موارد مرتبط

 فارسی