ویدئو های پربازدید سایت

آموزش استخراج متن یا صفحه از فایل pdf در سی شارپ

در این متن قصد معرفی کتابخانه ای رایگان از سی شارپ رو دارم که میتونید باهاش با فایل های pdf کار هایی مثل

رو انجام بدید.

ما همه این کارهارو با کتابخانه ای با نام ItextSharp انجام میدیم

برای آغاز کار ابتدا نیاز دارید که این کتابخانه رو از nuget ویژوال نصب کنید پس وارد ناگت شده و به دنبال کتابخانه ITextSharp میگردیم

کار با pdf در سی شارپ,کار با پی دی اف در c#,جداسازی صفحات pdf در سی شارپ,ITextSharp,استخراج متن از pdf در سی شارپ,استخراج متن pdf,خواندن فایل pdf در سی شارپ,آموزش سی شارپ,سی شارپ,c#,read pdf with c#,c-sharp

بعد از نصب نیاز دارین تا namespace های زیر رو به پروژه اضافه کنیم


using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;

در کد زیر ما قصد داریم تا چند صفحه از یک فایل pdf رو استخراج کنیم

var reader = new PdfReader(Application.StartupPath + "\\hypersource_article.pdf");
            int intPageNum = reader.NumberOfPages; //210 pages
            reader.SelectPages(new int[] {15,25});
            PdfStamper stamper = new PdfStamper(reader,new FileStream("j.pdf",FileMode.OpenOrCreate));
            stamper.Close();
            reader.Close();

بعد از معرفی مسیر فایل به کلاس PdfReader توسط متد SelectPages می توانیم صفحاتی را که قصد داریم استخراج کنیم را وارد می کنیم.

در صورتی که چند صفحه متفرقه لازم دارید بصورت یک ارایه عددی و در صورتی که یک سری یا یک رنجی از صفحات مد نظر است بصورت رشته => "22-52" یعنی از صفحه 22 الی 52 را استخراج کن.

سپس توسط یک PdfStamer اقدام به خروجی گرفتن فایل جدید میکنیم.

 

خواندن متن یک صفحه

در کد زیر نیز توسط متد GetTextFromPage از یک صفحه خاصی متن آن را خروجی میگیریم.

دقت کنید که خروجی متن برای مقالات فارسی استاندارد نیست و حروف استخراجی دارای ترتیب عکس هستند.

نکته 2 : در صورتی که قصد دارید تا از همه صفحات متن بگیرید مانند کد زیر عمل را داخل حلقه انجام دهید :

var reader = new PdfReader("hypersource_article.pdf");
            int intPageNum = reader.NumberOfPages;
            for (int i = 1; i <= intPageNum; i++)
            {
                string text = PdfTextExtractor.GetTextFromPage(reader, i, new LocationTextExtractionStrategy());
                File.WriteAllText($"page_{i}.txt", text);
            }

 

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


;

Dex پاسخ

عالیییییییییییییییییییییییییی
1398/5/22 15:12

ویدئو هایی که شاید بپسندید!

هم اکنون نـــظر بدهید

HyperSourCe.ir

info@hypersource.ir

کلیه حقوق برای وب سایت هایپر سورس محفوظ است
CopyRight ©2014-2021
ارتباط با ما
نام شما
ایمیل
موبایل
رمز عبور را فراموش کرده ام

چگونه میتوانم این محصول را با تخفیف دریافت نمایم ؟