Файли PDF популярні, оскільки вони підтримують текст, зображення, анімацію, відео та багато інших анотацій. Однак текст є найважливішою частиною більшості PDF-документів. У цій статті ми перетворимо файл PDF у файл TXT і файл TXT у формат PDF за допомогою C# .NET. Це перетворення стане в нагоді в ситуаціях, коли вас цікавить лише текстовий вміст PDF-документів. Давайте переглянемо наступні заголовки для огляду майбутніх тем:

Порада. Вас може зацікавити безкоштовний Текст у формат GIF Converter, який дозволяє створювати анімацію з текстів.

C# TXT у PDF або конвертер PDF у TXT

Перетворення PDF у TXT, а також перетворення файлу TXT у PDF дуже корисно, коли вас головним чином хвилює текстовий рядок, який використовується в документі. Ви можете конвертувати ці формати файлів один в інший за допомогою кількох простих кроків за допомогою Aspose.PDF for .NET API. Будучи API на основі .NET Framework, він дозволяє працювати як з C#, так і з мовою програмування VB.NET. Ви можете легко інсталювати API у своїх програмах .NET, завантаживши файли DLL із Завантаження або через галерею NuGet.

Після успішного встановлення API, давайте продовжимо конвертувати файл PDF у файл TXT двома різними підходами:

C# Конвертуйте PDF у TXT без форматування

Перш за все, ми перетворимо 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 за допомогою C#, виконавши наведені нижче дії.

  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());

Візуальне порівняння перетворення тексту PURE та RAW

Наступний знімок екрана є візуальним порівнянням двох підходів, які ми щойно обговорили. Ви можете помітити, що режим Pure (крайнє праве вікно) відображає текст із тим самим форматуванням, що й у файлі PDF (крайнє ліве вікно).

Перетворення PDF TXT csharp

Цей знімок екрана вхідних і вихідних файлів дає вам змогу вирішити, який підхід до перетворення підходить вам найкраще.

Програмно конвертуйте файл TXT у PDF за допомогою C# або VB.NET

Файли TXT часто містять величезний текстовий вміст. Ви можете легко конвертувати файл TXT у файл PDF за допомогою API Aspose.PDF for .NET. Просто виконайте наведені нижче кроки, щоб виконати перетворення тексту в 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 на документ PDF за допомогою C# або VB у .NET Framework. Ви можете конвертувати файли PDF і TXT досить ефективно і швидко. Однак, якщо у вас виникли сумніви чи запитання, напишіть нам на безкоштовний форум підтримки або ознайомтеся з документацією продукту. Ми будемо раді почути від вас!

Дивись також