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

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

Aspose.Slides FOSS for .NET lets you open any .pptx فایل، محتویات آن را بررسی کنید و یا آن را به‌صورت PPTX ذخیره کنید یا داده‌ها را از آن استخراج کنید. این راهنما نحوه باز کردن یک فایل، پیمایش اسلایدها، خواندن متن اشکال، و ذخیره‌سازی دورانی را پوشش می‌دهد.

راهنمای گام به گام

مرحله ۱: نصب بسته

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}");
        }
    }
}

مرحله ۵: خواندن ویژگی‌های سند

دسترسی به ویژگی‌های اصلی سند از 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}");

مرحله ۶: ذخیره‌سازی دورانی

پس از بررسی یا تغییر ارائه، آن را دوباره به 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 (binary 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}");

همچنین ببینید

 فارسی