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

موضوعات زیر در اینجا پوشش داده خواهد شد:
- تصویر، متن و استخراج فراداده .NET API
- استخراج تصویر از اسناد PDF
- استخراج تصاویر از اسناد Word، Excel، PowerPoint
- استخراج تصویر از صفحه خاص
- فرمت های پشتیبانی شده برای استخراج تصویر
تصویر، متن و استخراج فراداده .NET API

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

با دنبال کردن این مراحل ساده می توانید به راحتی تمام تصاویر را از هر سند PDF بازیابی کنید.
- شیء کلاس Parser را با سند مبدأ نمونه سازی کنید.
- متد GetImages از کلاس Parser را فراخوانی کنید تا مجموعه ای از تمام تصاویر موجود در اشیاء PageImageArea را بدست آورید.
- برای دریافت هر تصویر، روی PageImageArea تکرار کنید.
- با استفاده از روش 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++;
}
}

استخراج تصاویر از فایل های ورد، اکسل، پاورپوینت در 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 |
اسناد قابل حمل | |
ایمیل ها | EML، EMLX، MSG |
آرشیو | ZIP |
اطلاعات بیشتر درباره GroupDocs.Parser
بیایید کمی بیشتر صحبت کنیم @ Free Support Forum