פורמט מסמכים נייד (PDF) הוא פורמט מסמכים פופולרי ונפוץ שפותח על ידי Adobe. מסמכי PDF יכולים להכיל מגוון של תוכן כולל טקסט מעוצב, תמונות, הערות, שדות טופס וכו’. ניתוח מסמכי PDF באופן תוכנתי הוא מקרה שימוש פופולרי וישנן דרכים רבות לחילוץ הטקסט. עם זאת, חילוץ תמונות ממסמך PDF היא משימה מורכבת. מאמר זה מדגים באיזו קלות אתה יכול לחלץ תמונות ממסמכי PDF באופן תוכנתי ב-C#.

.NET API לחילוץ תמונות מקבצי PDF

GroupDocs.Parser for .NET API ישחק את חלקו בחילוץ תמונות מקובצי PDF. יחד עם ה-PDF, ה-API תומך בניתוח ובחילוץ של תמונות ממסמכי עיבוד תמלילים, גיליונות אלקטרוניים, ספרים אלקטרוניים, מצגות, מיילים, ארכיוני ZIP ופורמטים רבים אחרים של מסמכים.

אתה יכול להוריד את קובצי ה-DLL או ה-MSI מתקין מסעיף ההורדות או להתקין את ה-API באפליקציית NET שלך דרך NuGet.

PM> Install-Package GroupDocs.Parser

שלבים לחילוץ תמונות ממסמך PDF באמצעות C#

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

  1. צור פרויקט חדש.
  2. הורד את ה-API כפי שהוזכר לעיל או עדכן לגרסת ה-API העדכנית ביותר.
  3. הוסף את מרחבי השמות הבאים:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
  1. טען את מסמך ה-PDF באמצעות המחלקה Parser.
// צור מופע של מחלקה Parser
using (Parser parser = new Parser("path/document.pdf"))
{
  // הקוד שלך נכנס לכאן.
}
  1. חלץ תמונות מהמסמך בשיטת GetImages.
// חלץ תמונות
IEnumerable<PageImageArea> images = parser.GetImages();

// בדוק אם חילוץ תמונות נתמך
if (images == null)
{
    Console.WriteLine("Images extraction isn't supported");
    return;
}
  1. גשו לכל תמונה מהאוסף ושמרו אותה בשיטת השמירה.
// חזור על תמונות שאוחזרו
foreach (PageImageArea image in images)
{
    // שמור תמונות
    image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", new ImageOptions(ImageFormat.Jpeg));
    imageNumber++;
}

אתה יכול לשמור את התמונות בתמונות שונות כמו JPG, PNG, BMP, WebP או GIF.

C# Complete Code - חילוץ תמונה מ-PDF

לפניכם הקוד המלא שיאפשר לכם לקבל את כל התמונות מקובץ PDF.

// חלץ תמונות מ-PDF באמצעות C#
using (Parser parser = new Parser("path/document.pdf"))
{
    IEnumerable<PageImageArea> images = parser.GetImages();
    // בדוק אם חילוץ תמונה נתמך
    if (images == null) 
    {
        Console.WriteLine("Images extraction isn't supported");
        return;
    }
    
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    
    // חזור על תמונות שאוחזרו
    foreach (PageImageArea image in images)
    {
        // שמור תמונות
        image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", options);
        imageNumber++;
    }
}

תוצאות

מסמך PDF לדוגמה

מסמך PDF עם תמונות לחלץ.

תמונות שחולצו

חילצו תמונות מה-PDF.

אם אתה צריך, מוסבר גם במאמר נפרד כיצד תוכל לחלץ תמונות מכל עמוד ספציפי של מסמך PDF באמצעות C#.

קרא עוד

תוכל לחקור עוד על ממשק ה-API של חילוץ הנתונים של .NET באמצעות תיעוד שלו. כמו כן, אתה יכול לשתף אותנו בשאילתות שלך דרך הפורום שלנו.

ראה גם