איך לטעון מצגות ב-.NET

איך לטעון מצגות ב-.NET

Aspose.Slides FOSS for .NET lets you open any .pptx קובץ, בדוק את תוכנו, או לשמור אותו חזרה ל‑PPTX או לחלץ ממנו נתונים. מדריך זה מכסה פתיחת קובץ, חזרה על שקופיות, קריאת טקסט של צורה, והחזרה של השמירה.

מדריך שלב אחר שלב

שלב 1: התקנת החבילה

dotnet add package Aspose.Slides.Foss

שלב 2: פתיחת מצגת קיימת

העבר את נתיב הקובץ ל‑ 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 לא ידועים בקובץ המקור נשמרים במדויק: הספרייה לעולם אינה מסירה תוכן שהיא עדיין לא מבינה.


שלב 3: בדיקת שקופיות

עבור על כל השקופיות והדפס את האינדקס שלהן:

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

שלב 4: קריאת טקסט מצורה

חזור על הצורות וקרא טקסט מצורות שיש להן 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: שמירה חוזרת (Round-Trip)

לאחר בדיקה או שינוי של המצגת, שמור אותה חזרה ל-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}");

ראה גם

 עברית