استخراج متن از پاورپوینت سی شارپ

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

C# API برای استخراج متن از پاورپوینت PPTX

به منظور دستکاری ارائه های پاورپوینت، Aspose Aspose.Slides for .NET را ارائه می دهد. API مذکور برای پیاده سازی ویژگی های اتوماسیون پاورپوینت در برنامه های NET طراحی شده است. همچنین راه های ساده ای برای استخراج متن از ارائه های PPTX ارائه می دهد. می‌توانید API را دانلود یا با استفاده از NuGet نصب کنید.

PM> Install-Package Aspose.Slides.NET

استخراج متن از اسلاید پاورپوینت در سی شارپ

مراحل زیر برای استخراج متن از یک اسلاید در ارائه پاورپوینت آورده شده است.

  • ارائه را با استفاده از کلاس Presentation بارگیری کنید.
  • با استفاده از روش SlideUtil.GetAllTextBoxes() تمام فریم های متن را از یک اسلاید در آرایه ITextFrame دریافت کنید.
  • از میان هر ITextFrame حلقه بزنید و با استفاده از ویژگی ITextFrame.Paragraphs به متن آن دسترسی پیدا کنید.
  • متن را از هر Portion از پاراگراف بازیابی و چاپ کنید.

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

//کلاس PresentationEx را که یک فایل PPTX را نشان می دهد، راه اندازی کنید
Presentation pptxPresentation = new Presentation("demo.pptx");

//آرایه ای از اشیاء TextFrameEx را از اسلاید اول دریافت کنید
ITextFrame[] textFramesSlideOne = SlideUtil.GetAllTextBoxes(pptxPresentation.Slides[0]);

//از طریق آرایه TextFrames حلقه بزنید
for (int i = 0; i < textFramesSlideOne.Length; i++)
{
    //از میان پاراگراف ها در TextFrame فعلی حلقه بزنید
    foreach (Paragraph para in textFramesSlideOne[i].Paragraphs)
    {
        //بخش‌های پاراگراف فعلی را حلقه بزنید
        foreach (Portion port in para.Portions)
        {
            //نمایش متن در قسمت فعلی
            Console.WriteLine(port.Text);

            //نمایش ارتفاع فونت متن
            Console.WriteLine(port.PortionFormat.FontHeight);

            //نمایش نام فونت متن
            Console.WriteLine(port.PortionFormat.LatinFont.FontName);
        }
    }
}

استخراج متن از ارائه پاورپوینت در سی شارپ

همچنین می توانید با استفاده از Aspose.Slides برای دات نت متن را از کل ارائه پاورپوینت استخراج کنید. مراحل زیر برای انجام این عملیات آورده شده است.

  • ارائه را با استفاده از کلاس Presentation بارگیری کنید.
  • با استفاده از روش SlideUtil.GetAllTextFrames() تمام فریم های متن را در ارائه دریافت کنید.
  • از میان هر ITextFrame حلقه بزنید و به [پاراگراف13 آن دسترسی پیدا کنید.
  • به بخش هایی از پاراگراف ها دسترسی داشته باشید و متن آنها را چاپ کنید.

نمونه کد زیر نحوه استخراج متن از یک ارائه پاورپوینت را نشان می دهد.

//کلاس Presentation را که یک فایل PPTX را نشان می دهد، راه اندازی کنید
Presentation pptxPresentation = new Presentation("demo.pptx");

//آرایه ای از اشیاء ITextFrame را از همه اسلایدهای موجود در PPTX دریافت کنید
ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true);

//از طریق آرایه TextFrames حلقه بزنید
for (int i = 0; i < textFramesPPTX.Length; i++)
{
	//در ITextFrame فعلی پاراگراف ها را حلقه بزنید
	foreach (IParagraph para in textFramesPPTX[i].Paragraphs)
	{
		//حلقه از طریق بخش ها در آی پاراگراف فعلی
		foreach (IPortion port in para.Portions)
		{
			//نمایش متن در قسمت فعلی
			Console.WriteLine(port.Text);

			//نمایش ارتفاع فونت متن
			Console.WriteLine(port.PortionFormat.FontHeight);

			//نمایش نام فونت متن
			if (port.PortionFormat.LatinFont != null)
				Console.WriteLine(port.PortionFormat.LatinFont.FontName);
		}
	}
}

مجوز API رایگان دریافت کنید

در صورتی که می‌خواهید API را بدون محدودیت ارزیابی امتحان کنید، می‌توانید [یک مجوز موقت رایگان دریافت کنید14.

نتیجه

در این مقاله نحوه استخراج متن از ارائه های پاورپوینت را یاد گرفتید. به ویژه، نحوه استخراج متن از یک اسلاید خاص یا کل ارائه را با استفاده از C# مشاهده کرده اید. می توانید با استفاده از documentation درباره Aspose.Slides برای دات نت بیشتر کاوش کنید. در صورت وجود هرگونه سوال یا سردرگمی، از طریق [تالار گفتمان16 ما را مطلع کنید.

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