در پست قبلی، نحوه استخراج تصاویر از اسناد در Java را مورد بحث قرار دادیم. امروز، ما به دنبال دستیابی به همان هدف با استفاده از C# خواهیم بود. نگران نباشید اگر از آخرین پست بازدید نکرده اید. در این مقاله یاد می گیریم که به صورت برنامه نویسی تصاویر را از اسناد PDF، Excel، PowerPoint و Word در یک برنامه C# با استفاده از تجزیه اسناد .NET API استخراج کنیم.

استخراج تصاویر از اسناد در NET

موضوعات زیر در اینجا پوشش داده خواهد شد:

تصویر، متن و استخراج فراداده .NET API

تجزیه اسناد و استخراج داده ها در دات نت

GroupDocs.Parser for .NET تجزیه و تحلیل اسناد و استخراج داده ها .NET API است. از تجزیه اسناد و استخراج تصاویر، متن و ابرداده از اسناد پردازش کلمه، صفحات گسترده، ارائه ها، آرشیوها و اسناد ایمیل پشتیبانی می کند. در پایان مقاله، قالب‌های سند 9 ذکر شده است که توسط API برای استخراج تصویر پشتیبانی می‌شوند.

در این مقاله، ما از این API استفاده خواهیم کرد، بنابراین توصیه می کنم برای آماده سازی محیط، فایل های باینری آن را دانلود یا از NuGet نصب کنید.

استخراج تصاویر از اسناد PDF در C#

سند PDF برای استخراج تصاویر

با دنبال کردن این مراحل ساده می توانید به راحتی تمام تصاویر را از هر سند PDF بازیابی کنید.

  1. شیء کلاس Parser را با سند مبدأ نمونه سازی کنید.
  2. متد GetImages از کلاس Parser را فراخوانی کنید تا مجموعه ای از تمام تصاویر موجود در اشیاء PageImageArea را بدست آورید.
  3. برای دریافت هر تصویر، روی PageImageArea تکرار کنید.
  4. با استفاده از روش Save PageImageArea، تصاویر را روی دیسک ذخیره کنید.

تصاویر استخراج شده را می توان در فرمت های BMP، GIF، JPEG، PNG و WebP ذخیره کرد. کد کامل برای نشان دادن کل مراحل در زیر نشان داده شده است.

// استخراج تصاویر از Word، Excel، PPT، PDF در C# با استفاده از GroupDocs.Parser for .NET
using (Parser parser = new Parser("path/document.pdf"))
{
    IEnumerable<PageImageArea> images = parser.GetImages();
    ImageOptions options = new ImageOptions(ImageFormat.Png);
    int imageNumber = 0;
    // تکرار روی تصاویر بازیابی شده
    foreach (PageImageArea image in images)
    {
        // ذخیره تصویر و چاپ نمایه صفحه، مستطیل و نوع تصویر:
        Console.WriteLine(string.Format("Page: {0}, R: {1}, Type: {2}", image.Page.Index, image.Rectangle, image.FileType));
        image.Save("imageFilePath/image-" + imageNumber.ToString() + ".png", options);
        imageNumber++;
    }
}
تصاویر استخراج شده از سند با استفاده از GroupDocs.Parser

استخراج تصاویر از فایل های ورد، اکسل، پاورپوینت در C#

فقط به فرمت PDF محدود نمی شود، ما می توانیم تمام تصاویر را از اسناد پردازش کلمه، صفحات گسترده، ارائه ها، با پایه کد بدون تغییر، برداریم. فقط مسیر سند منبع را با پسوند فایل تغییر دهید، سند شما برای استخراج و ذخیره تمام تصاویر در دیسک تجزیه می شود.

using (Parser parser = new Parser("path/document.docx")) // Word Document
// using (Parser parser = new Parser("path/document.xlsx")) // Excel Spreadhseet
// using (Parser parser = new Parser("path/document.pptx")) // Presentation
// using (Parser parser = new Parser("path/document.pdf")) // PDF Document

استخراج تصویر از صفحه سند خاص در C#

اگر می خواهید تصاویر را از صفحه خاصی از سند استخراج کنید، با استفاده از مراحل زیر و کد C# به راحتی می توان این کار را انجام داد.

  • اطلاعات مربوط به سند را با استفاده از روش GetDocumentInfo دریافت کنید.
  • از اطلاعات سند، کل PageCount و سایر اطلاعات را بردارید.
  • از روش GetImages(pageIndex) استفاده کنید و فهرست صفحه هدف خود را به آن ارسال کنید.
  • برای ذخیره تصاویر بازیابی شده، مجموعه تصاویر را طی کنید و با استفاده از روش ذخیره تصویر فردی را ذخیره کنید.
// استخراج تصاویر از صفحه خاصی از Word، Excel، PowerPoint، PDF در C# با استفاده از GroupDocs.Parser for .NET
using (Parser parser = new Parser("path/document.pdf"))
{
    // اطلاعات سند را دریافت کنید
    IDocumentInfo documentInfo = parser.GetDocumentInfo();
    ImageOptions options = new ImageOptions(ImageFormat.Png);
    int imageNumber = 0;

    // تکرار روی صفحات
    for (int pageIndex = 0; pageIndex < documentInfo.PageCount; pageIndex++)
    {
        // چاپ شماره صفحه 
        Console.WriteLine(string.Format("Page {0}/{1}", pageIndex + 1, documentInfo.PageCount));
        // تکرار روی تصاویر نادیده گرفتن بررسی تهی در مثال
        foreach (PageImageArea image in parser.GetImages(pageIndex))
        {
            // یک مستطیل و نوع تصویر چاپ کنید
            Console.WriteLine(string.Format("R: {0}, Text: {1}", image.Rectangle, image.FileType));
            image.Save("imageFilePath/image-" + imageNumber.ToString() + ".png", options);
            imageNumber++;
        }
    }
}

فرمت های پشتیبانی شده برای استخراج تصویر در C#

در زیر فرمت های سندی وجود دارد که توسط GroupDocs.Parser برای .NET API برای استخراج تصویر پشتیبانی می شود.

نوع سند فرمت های فایل
اسناد پردازش کلمه DOC، DOCX، DOCM، DOT، DOTX، DOTM، ODT، OTT، RTF
صفحات گسترده XLS، XLSX، XLSM، XLSB، XLT، XLTX، XLTM، ODS، OTS، XLA، XLAM، NUMBERS
ارائه ها PPT، PPTX، PPTM، PPS، PPSX، PPSM، POT، POTX، POTM، ODP، OTP
اسناد قابل حمل PDF
ایمیل ها EML، EMLX، MSG
آرشیو ZIP

اطلاعات بیشتر درباره GroupDocs.Parser

بیایید کمی بیشتر صحبت کنیم @ Free Support Forum

مقالات مرتبط