فرمت سند قابل حمل (PDF) یک فرمت سند محبوب و پرکاربرد است که توسط Adobe توسعه یافته است. اسناد PDF می‌توانند حاوی محتوای مختلفی از جمله متن قالب‌بندی‌شده، تصاویر، حاشیه‌نویسی، فیلدهای فرم و غیره باشند. تجزیه اسناد PDF به‌صورت برنامه‌ای یک مورد استفاده محبوب است و راه‌های متعددی برای استخراج متن وجود دارد. با این حال، استخراج تصاویر از یک سند PDF یک کار پیچیده است. این مقاله نشان می دهد که چگونه به راحتی می توانید تصاویر را از اسناد PDF به صورت برنامه نویسی در C# استخراج کنید.

NET API برای استخراج تصاویر از فایل های PDF

GroupDocs.Parser for .NET API نقش خود را در استخراج تصاویر از فایل های PDF ایفا می کند. همراه با PDF، API از تجزیه و استخراج تصاویر از اسناد پردازش کلمه، صفحات گسترده، کتاب های الکترونیکی، ارائه ها، ایمیل ها، بایگانی های ZIP و [بسیاری از فرمت های سند دیگر] پشتیبانی می کند.

می‌توانید نصب‌کننده DLL یا MSI را از بخش دانلودها دانلود کنید یا از طریق NuGet API را در برنامه دات‌نت خود نصب کنید.

PM> Install-Package GroupDocs.Parser

مراحل استخراج تصاویر از یک سند PDF با استفاده از سی شارپ

بیایید به سرعت قدم به قدم نحوه دریافت تصاویر از فایل 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. به هر تصویر از مجموعه دسترسی داشته باشید و آن را با استفاده از روش Save ذخیره کنید.
// تکرار روی تصاویر بازیابی شده
foreach (PageImageArea image in images)
{
    // ذخیره تصاویر
    image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", new ImageOptions(ImageFormat.Jpeg));
    imageNumber++;
}

می توانید تصاویر را در تصاویر مختلف مانند JPG، PNG، BMP، WebP یا GIF ذخیره کنید.

کد کامل C# – استخراج تصویر از PDF

در اینجا کد کاملی وجود دارد که به شما امکان می دهد تمام تصاویر را از یک فایل PDF دریافت کنید.

// استخراج تصاویر از PDF با استفاده از سی شارپ
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 کاوش کنید. همچنین، می‌توانید سؤالات خود را از طریق [فروم 6 ما با ما در میان بگذارید.

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