چگونه متن، تصاویر و متاداده را از اسناد ورد در .NET استخراج کنیم
استخراج متن، تصاویر و متاداده از اسناد ورد برای تحلیل و پردازش اسناد ضروری است. با Aspose.Words for .NET، توسعهدهندگان میتوانند بهصورت برنامهنویسی محتوای سند و ویژگیهای آن را برای موارد استفاده مختلف، مانند نمایهسازی، آرشیو یا تبدیل محتوا، بازیابی کنند.
پیشنیازها
- .NET SDK را نصب کنید.
- بسته NuGet Aspose.Words را اضافه کنید:
dotnet add package Aspose.Words
- یک سند ورد (
document.docx
) با متن، تصاویر و متاداده آماده کنید.
راهنمای گام به گام برای استخراج محتوا از فایلهای ورد
1. بارگذاری سند ورد
using System;
using Aspose.Words;
class Program
{
static void Main()
{
// گام 1: بارگذاری سند ورد
string filePath = "document.docx";
Document doc = new Document(filePath);
// گامهای 2، 3 و 4 در زیر اضافه خواهند شد
}
}
توضیح: این کد سند ورد مشخصشده را در حافظه بارگذاری میکند تا پردازشهای بیشتری روی آن انجام شود.
2. استخراج متن از سند
using System;
using Aspose.Words;
class Program
{
static void Main()
{
string filePath = "document.docx";
Document doc = new Document(filePath);
// گام 2: استخراج متن
string text = doc.GetText();
Console.WriteLine("متن استخراجشده: " + text);
// گامهای 3 و 4 در زیر اضافه خواهند شد
}
}
توضیح: این کد تمام محتوای متنی را از سند ورد بارگذاریشده استخراج کرده و آن را در کنسول چاپ میکند.
3. استخراج متاداده از سند
using System;
using Aspose.Words;
class Program
{
static void Main()
{
string filePath = "document.docx";
Document doc = new Document(filePath);
string text = doc.GetText();
Console.WriteLine("متن استخراجشده: " + text);
// گام 3: استخراج متاداده
Console.WriteLine("عنوان: " + doc.BuiltInDocumentProperties.Title);
Console.WriteLine("نویسنده: " + doc.BuiltInDocumentProperties.Author);
Console.WriteLine("تاریخ ایجاد: " + doc.BuiltInDocumentProperties.CreatedTime);
// گام 4 در زیر اضافه خواهد شد
}
}
توضیح: این کد عنوان، نویسنده و تاریخ ایجاد متاداده را از سند ورد استخراج و چاپ میکند.
4. استخراج تصاویر از سند
using System;
using Aspose.Words;
class Program
{
static void Main()
{
string filePath = "document.docx";
Document doc = new Document(filePath);
string text = doc.GetText();
Console.WriteLine("متن استخراجشده: " + text);
Console.WriteLine("عنوان: " + doc.BuiltInDocumentProperties.Title);
Console.WriteLine("نویسنده: " + doc.BuiltInDocumentProperties.Author);
Console.WriteLine("تاریخ ایجاد: " + doc.BuiltInDocumentProperties.CreatedTime);
// گام 4: استخراج تصاویر
int imageCount = 0;
foreach (var shape in doc.GetChildNodes(NodeType.Shape, true))
{
if (shape is Shape { HasImage: true } imageShape)
{
string imageFilePath = $"Image_{++imageCount}.png";
imageShape.ImageData.Save(imageFilePath);
Console.WriteLine($"تصویر ذخیرهشده: {imageFilePath}");
}
}
Console.WriteLine("استخراج محتوا به پایان رسید.");
}
}
توضیح: این کد تمام تصاویر را از سند ورد استخراج کرده و آنها را بهعنوان فایلهای PNG در دایرکتوری پروژه ذخیره میکند.
5. تست راهحل
- اطمینان حاصل کنید که
document.docx
در دایرکتوری پروژه قرار دارد. - برنامه را اجرا کنید و تأیید کنید:
- متن استخراجشده در خروجی کنسول.
- جزئیات متاداده چاپ شده.
- تصاویر استخراجشده در پوشه پروژه ذخیره شدهاند.
نحوه استقرار و اجرا بر روی پلتفرمهای اصلی
ویندوز
- زماناجرای .NET را نصب کرده و برنامه را مستقر کنید.
- برنامه را با اجرای آن از طریق خط فرمان تست کنید.
لینوکس
- زماناجرای .NET را نصب کنید.
- از دستورات ترمینال برای اجرای برنامه یا میزبانی آن در یک سرور استفاده کنید.
macOS
- برنامه را با استفاده از Kestrel اجرا کنید یا آن را در یک سرویس ابری مستقر کنید.
مشکلات رایج و راهحلها
- تصاویر استخراج نشدهاند:
- اطمینان حاصل کنید که سند شامل تصاویر جاسازیشده است و نه تصاویر پیوندی خارجی.
- متاداده گم شده:
- تأیید کنید که سند ویژگیهای متاداده مانند عنوان یا نویسنده را تنظیم کرده است.
- پردازش فایلهای بزرگ:
- از رویکردی با کارایی حافظه استفاده کنید، مانند پردازش بخشهای خاصی از سند.
با این راهنما، میتوانید بهصورت برنامهنویسی محتوای ارزشمندی را از اسناد ورد با استفاده از Aspose.Words for .NET استخراج کنید.