חלץ תמונות מ-PowerPoint PPT ב-C#

בזמן עיבוד מצגות PowerPoint ביישום NET, ייתכן שיהיה עליך לחלץ תוכן משקופיות PPT. התוכן יכול להיות בצורה של טקסט ותמונות. ב פוסט הקודם סקרנו את חילוץ הטקסט משקופיות PowerPoint. במאמר זה נראה לך כיצד לחלץ תמונות מ-PowerPoint PPT או PPTX ב-C#.

C# API לחילוץ תמונות מ-PowerPoint PPT - הורדה חינם

לחילוץ תמונות מ-PowerPoint PPT/PPTX, נשתמש ב-Aspose.Slides for .NET. זהו .NET API עשיר בתכונות המאפשר לך ליצור מצגות חדשות ולתפעל את הקיימות בצורה חלקה. אתה יכול להוריד את ה-DLL של API או להתקין אותו באמצעות NuGet.

PM> Install-Package Aspose.Slides.NET

חלץ תמונות מ-PowerPoint PPT ב-C#

להלן השלבים לחילוץ כל התמונות במצגת PPT ב-C#.

  • ראשית, השתמש במחלקה Presentation כדי לטעון את קובץ PPT/PPTX.
  • לאחר מכן, עברו בלולאה בין כל התמונות במצגת באמצעות אוסף Presentation.Images.
  • לבסוף, קבל סוג ופורמט של כל תמונה ושמור אותה.

דוגמת הקוד הבאה מראה כיצד לחלץ תמונות מ-PowerPoint PPT ב-C#.

// טען את המצגת
Presentation pres = new Presentation("presentation.pptx");

Aspose.Slides.IPPImage img = null;
ImageFormat format = System.Drawing.Imaging.ImageFormat.Jpeg;
int imageIndex = 1;
string imageType = "";
String imagePath = "Image_";

// עברו בלולאה בין תמונות
foreach (var image in pres.Images)
{
    // קבל פורמט תמונה
    format = GetImageFormat(image.ContentType);

    // קבל סוג תמונה
    imageType = image.ContentType;
    imageType = imageType.Remove(0, imageType.IndexOf("/") + 1);

    // שמור תמונה
    image.SystemImage.Save(imagePath + "Slide_" + imageIndex.ToString() + "." + imageType, format);
    imageIndex++;
}

C# חלץ תמונות מצורות PPT של PowerPoint

במקרים שונים, ייתכן שיהיה עליך לחלץ תמונות מאובייקטי הצורה בלבד. ניתן להשיג זאת על ידי ביצוע השלבים הבאים.

  • ראשית, השתמש במחלקה Presentation כדי לטעון את קובץ המצגת.
  • לאחר מכן, השתמש באוסף Presentation.Slides כדי לעבור דרך שקופיות.
  • עבור כל שקופית, גש לצורות שלה באמצעות אוסף ISlide.Shapes.
  • בצע את השלבים הבאים עבור כל צורה בקולקציה:

דוגמת הקוד הבאה מראה כיצד לחלץ תמונות מצורות ב-PowerPoint PPT באמצעות C#.

// טען את המצגת
Presentation pres = new Presentation("presentation.pptx");

Aspose.Slides.IPPImage img = null;
int slideIndex = 0;
String imageType = "";
bool isImageFound = false;

// גלגל דרך שקופיות
for (int i = 0; i < pres.Slides.Count; i++)
{
    slideIndex++;
    // גש למגלשה
    ISlide slide = pres.Slides[i];
    System.Drawing.Imaging.ImageFormat format = System.Drawing.Imaging.ImageFormat.Jpeg;

    // לולאה דרך הצורות
   for (int j = 0; j < slide.Shapes.Count; j++)
    {
        // גש לצורה
        IShape sh = slide.Shapes[j];

        // בדוק אם זו צורה אוטומטית
        if (sh is AutoShape)
        {
            AutoShape ashp = (AutoShape)sh;

            // תבדוק אם יש לו תמונה
            if (ashp.FillFormat.FillType == FillType.Picture)
            {
                // קבל תמונה
                img = ashp.FillFormat.PictureFillFormat.Picture.Image;
                imageType = img.ContentType;
                imageType = imageType.Remove(0, imageType.IndexOf("/") + 1);
                isImageFound = true;

            }
        }
        else if (sh is PictureFrame)
        {
            // אם הצורה היא מסגרת תמונה
            IPictureFrame pf = (IPictureFrame)sh;

            // בדוק אם הוא מכיל תמונה
            if (pf.FillFormat.FillType == FillType.Picture)
            {
                // קבל תמונה
                img = pf.PictureFormat.Picture.Image;
                imageType = img.ContentType;
                imageType = imageType.Remove(0, imageType.IndexOf("/") + 1);
                isImageFound = true;
            }
        }

        // אם נמצא תמונה אז שמור אותה
        if (isImageFound)
        {
            format = GetImageFormat(imageType);
            String imagePath = "Image_";
            img.SystemImage.Save(imagePath + "Slide_" + slideIndex.ToString() + "_Shape_" + j.ToString() + "." + imageType, format);
        }

        isImageFound = false;
    }
}

חילוץ תמונה של C# PowerPoint מרקע שקופיות

תרחיש אפשרי נוסף יכול להיות חילוץ תמונות המשמשות רק כרקע שקופיות. השלבים הבאים מראים כיצד לחלץ תמונות רקע של שקופיות PPT ב-C#.

דגימת הקוד הבאה מראה כיצד לחלץ תמונות מרקע שקופיות PPT ב-C#.

// טען את המצגת
Presentation pres = new Presentation("presentation.pptx");
Aspose.Slides.IPPImage backImg = null;

int slideIndex = 0;
String imageType = "";
for (int i = 0; i < pres.Slides.Count; i++)
{
    slideIndex++;
    // גש למגלשה
    ISlide slide = pres.Slides[i];
    System.Drawing.Imaging.ImageFormat format = System.Drawing.Imaging.ImageFormat.Jpeg;

    // בדוק אם יש תמונה ברקע
    if (slide.Background.FillFormat.FillType == FillType.Picture)
    {
        // קבלו תמונה  
        backImg = slide.Background.FillFormat.PictureFillFormat.Picture.Image;

        // הגדר פורמט תמונה 
        imageType = backImg.ContentType;
        imageType = imageType.Remove(0, imageType.IndexOf("/") + 1);
        format = GetImageFormat(imageType);

        // שמור תמונה
        String imagePath = "BackImage_";
        backImg.SystemImage.Save(imagePath + "Slide_" + slideIndex.ToString() + "." + imageType, format);
    }
    else
    {
        if (slide.LayoutSlide.Background.FillFormat.FillType == FillType.Picture)
        {
            // קבלו תמונת רקע  
            backImg = slide.LayoutSlide.Background.FillFormat.PictureFillFormat.Picture.Image;

            // הגדר פורמט תמונה 
            imageType = backImg.ContentType;
            imageType = imageType.Remove(0, imageType.IndexOf("/") + 1);
            format = GetImageFormat(imageType);

            // שמור תמונה
            String imagePath = "BackImage_Slide_" + i;
            backImg.SystemImage.Save(imagePath + "LayoutSlide_" + slideIndex.ToString() + "." + imageType, format);

        }
    }                
}

השתמשנו בשיטה GetImageFormat בכל קטעי הקוד לעיל. שיטה זו מחזירה את פורמט התמונה המתאים לסוג המסופק. היישום של שיטה זו מובא להלן.

public static System.Drawing.Imaging.ImageFormat GetImageFormat(String ImageType)
{
    System.Drawing.Imaging.ImageFormat Format = System.Drawing.Imaging.ImageFormat.Jpeg;
    switch (ImageType)
    {
        case "jpeg":
            Format = System.Drawing.Imaging.ImageFormat.Jpeg;
            break;

        case "emf":
            Format = System.Drawing.Imaging.ImageFormat.Emf;
            break;

        case "bmp":
            Format = System.Drawing.Imaging.ImageFormat.Bmp;
            break;

        case "png":
            Format = System.Drawing.Imaging.ImageFormat.Png;
            break;

        case "wmf":
            Format = System.Drawing.Imaging.ImageFormat.Wmf;
            break;

        case "gif":
            Format = System.Drawing.Imaging.ImageFormat.Gif;
            break;

    }
    return Format;
}

C# PPT Image Extraction API - קבל רישיון חינם

אתה יכול לקבל [רישיון זמני] בחינם20 ולחלץ תמונות משקופיות PPT ללא מגבלות הערכה.

סיכום

במאמר זה, למדת כיצד לחלץ תמונות מ-PowerPoint PPT ב-C#. בעזרת דוגמאות קוד, הדגמנו כיצד לחלץ תמונות מצורות ורקע שקופיות. אתה יכול לחקור עוד על Aspose.Slides עבור .NET על ידי ביקור בתיעוד. כמו כן, אתה יכול לשאול את השאלות שלך דרך הפורום שלנו.

ראה גם