Файлы PDF популярны, поскольку они поддерживают текст, изображения, анимацию, видео и многие другие аннотации. Тем не менее, текст является наиболее важной частью большинства PDF-документов. В этой статье мы преобразуем файл PDF в файл TXT и файл TXT в формат PDF, используя C# .NET. Это преобразование удобно в ситуациях, когда вас интересует только текстовое содержимое PDF-документов. Давайте рассмотрим следующие заголовки для обзора предстоящих тем:

Совет: вас может заинтересовать бесплатный конвертер текста в GIF, который позволяет создавать анимацию из текста.

Конвертер TXT в PDF или PDF в TXT

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

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

Смотрите также