فایل‌های PDF محبوب هستند زیرا از متن، تصاویر، انیمیشن‌ها، ویدیوها و بسیاری از حاشیه‌نویسی‌های دیگر پشتیبانی می‌کنند. با این حال، متن مهمترین بخش اکثر اسناد PDF است. در این مقاله فایل PDF را به TXT و فایل TXT را با استفاده از C#.NET به فرمت PDF تبدیل می کنیم. این تبدیل در مواقعی مفید است که شما فقط به محتوای متن اسناد PDF مربوط می شوید. اجازه دهید سرفصل های زیر را برای مروری بر موضوعات آینده مرور کنیم:

نکته: ممکن است به یک [تبدیل متن به GIF] رایگان علاقه مند باشید که به شما امکان می دهد انیمیشن ها را از متون تولید کنید.

تبدیل TXT به PDF یا PDF به TXT

تبدیل PDF به TXT و همچنین تبدیل فایل TXT به PDF زمانی که دغدغه اصلی شما رشته متن استفاده شده در سند باشد بسیار مفید است. با استفاده از Aspose.PDF for .NET API می توانید این فرمت های فایل را با چند مرحله ساده به یکدیگر تبدیل کنید. به عنوان یک API مبتنی بر چارچوب دات نت، به شما امکان می دهد با C# و همچنین زبان برنامه نویسی VB.NET کار کنید. شما به راحتی می توانید با دانلود فایل های DLL از Downloads یا از طریق گالری NuGet API را در برنامه های NET خود نصب کنید.

پس از نصب موفقیت آمیز API، اجازه دهید با دو رویکرد مختلف، یک فایل PDF را به فایل TXT تبدیل کنیم:

تبدیل PDF به فایل متنی بدون قالب بندی با استفاده از C# یا VB.NET

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

  1. سند PDF ورودی را بارگیری کنید
  2. نمونه ای از کلاس StringBuilder را راه اندازی کنید
  3. در هر صفحه از سند PDF تکرار کنید
  4. متن را با استفاده از حالت TextDevice و Raw بخوانید
  5. متن خروجی را به عنوان یک فایل TXT ذخیره کنید

قطعه کد زیر نحوه تبدیل PDF به فایل TXT را با استفاده از C# یا VB در NET Framework نشان می دهد:

// سند را باز کنید
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// رشته ای برای نگه داشتن متن استخراج شده
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // دستگاه متنی ایجاد کنید
        TextDevice textDevice = new TextDevice();

        // گزینه های مختلف را تنظیم کنید
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
        textDevice.ExtractionOptions = options;

        // صفحه را تبدیل کنید و متن را در جریان ذخیره کنید
        textDevice.Process(pdfPage, textStream);

        // بستن جریان حافظه
        textStream.Close();

        // دریافت متن از جریان حافظه
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Raw.txt";
// فایل متنی را ذخیره کنید
File.WriteAllText(dataDir, builder.ToString());

تبدیل PDF به فایل TXT با روتین های قالب بندی با استفاده از C# یا VB.NET

حال، اجازه دهید مورد استفاده را در نظر بگیریم که در آن شما نیاز به تبدیل PDF به متن با کمی روال های قالب بندی دارید. برای مثال، تورفتگی‌های پاراگراف، برگه‌ها، سبک‌ها یا قالب‌بندی بر اساس ستون. با دنبال کردن مراحل زیر می توانید به راحتی محتوای متنی یک سند PDF را به یک فایل TXT با سی شارپ رندر کنید:

  1. فایل PDF منبع را بارگیری کنید
  2. یک متغیر رشته ای را راه اندازی کنید
  3. هر صفحه را با TextFormattingMode.Pure بخوانید
  4. فایل TXT تبدیل شده را ذخیره کنید

قطعه کد زیر نحوه تبدیل PDF به فایل TXT با قالب بندی با استفاده از زبان C# یا VB.NET را نشان می دهد:

// سند را باز کنید
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// رشته ای برای نگه داشتن متن استخراج شده
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // دستگاه متنی ایجاد کنید
        TextDevice textDevice = new TextDevice();

        // گزینه های مختلف را تنظیم کنید
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
        textDevice.ExtractionOptions = options;

        // صفحه را تبدیل کنید و متن را در جریان ذخیره کنید
        textDevice.Process(pdfPage, textStream);

        // بستن جریان حافظه
        textStream.Close();

        // دریافت متن از جریان حافظه
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Pure.txt";
// فایل متنی را ذخیره کنید
File.WriteAllText(dataDir, builder.ToString());

مقایسه بصری تبدیل متن خالص و خام

اسکرین شات زیر مقایسه ای بصری از دو رویکردی است که به تازگی در مورد آن صحبت کردیم. می توانید متوجه شوید که حالت خالص (پنجره سمت راست) متن را با قالب بندی مشابه فایل PDF (پنجره سمت چپ) نشان می دهد.

تبدیل PDF TXT csharp

این اسکرین شات از فایل‌های ورودی و خروجی به شما امکان می‌دهد تصمیم بگیرید که کدام روش تبدیل برای شما مناسب‌تر است.

تبدیل فایل TXT به PDF به صورت برنامه ریزی شده با استفاده از C# یا VB.NET

فایل های TXT اغلب حاوی محتوای متنی عظیمی هستند. شما به راحتی می توانید یک فایل TXT را به فایل PDF با Aspose.PDF برای NET API تبدیل کنید. برای انجام تبدیل متن به PDF کافی است مراحل زیر را دنبال کنید:

  1. یک نمونه از کلاس TextReader ایجاد کنید
  2. یک سند PDF را راه اندازی کنید و صفحه خالی را اضافه کنید
  3. شیء TextBuilder را نمونه‌سازی کنید
  4. هر خط متن را از فایل TXT ورودی بخوانید
  5. ذخیره فایل PDF خروجی

قطعه کد زیر نحوه تبدیل برنامه‌نویسی یک فایل TXT حاوی متن را به یک سند PDF با استفاده از زبان C# یا VB.NET توضیح می‌دهد:

// فایل TXT ورودی را بخوانید
System.IO.TextReader tr = new StreamReader(dataDir + "Test.txt", Encoding.UTF8, true);

// مقداردهی اولیه سند جدید
Document doc = new Document();

// اضافه کردن صفحه خالی
Page page = doc.Pages.Add();
String strLine;

// شی TextBuilder را راه اندازی کنید
TextBuilder builder = new TextBuilder(page);
double x = 100; double y = 100;
while ((strLine = tr.ReadLine()) != null)
{
 TextFragment text = new TextFragment(strLine);
 text.Position = new Position(x, y);
 if (y >= page.PageInfo.Height - 72)
 {
  y = 100;
  page = doc.Pages.Add();
  builder = new TextBuilder(page);
 }
 else
 {
  y += 15;
 }
 builder.AppendText(text);
}

// ذخیره فایل PDF خروجی
doc.Save(dataDir + "TexttoPDF.pdf");
tr.Close();

نتیجه

در این مقاله به آموزش و بررسی تبدیل متن در فایل PDF به فرمت فایل TXT پرداخته ایم. علاوه بر این، ما متن یک فایل TXT را با استفاده از C# یا VB در NET Framework به یک سند PDF تبدیل کرده ایم. شما می توانید فایل های PDF و TXT را کاملا کارآمد و سریع تبدیل کنید. با این حال، اگر نگرانی یا سؤالی دارید، لطفاً در تالار گفتمان پشتیبانی رایگان برای ما بنویسید یا [مستندات محصول] را بررسی کنید. دوست داریم بیشتر از شما بشنویم!

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