Файлы PDF популярны, поскольку они поддерживают текст, изображения, анимацию, видео и многие другие аннотации. Тем не менее, текст является наиболее важной частью большинства PDF-документов. В этой статье мы преобразуем файл PDF в файл TXT и файл TXT в формат PDF, используя C# .NET. Это преобразование удобно в ситуациях, когда вас интересует только текстовое содержимое PDF-документов. Давайте рассмотрим следующие заголовки для обзора предстоящих тем:
- TXT в PDF или PDF в TXT Converter API
- Преобразование PDF в текстовый файл без форматирования с использованием C# или VB.NET
- Преобразование PDF в файл TXT с помощью процедур форматирования с использованием C# или VB.NET
- Преобразование файла TXT в PDF программно с использованием C# или VB.NET
Совет: вас может заинтересовать бесплатный конвертер текста в 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 с высокой эффективностью и надежностью.
- Загрузить входной PDF-документ
- Инициализировать экземпляр класса StringBuilder
- Итерация по каждой странице PDF-документа
- Чтение текста в режиме TextDevice и Raw
- Сохранить выходной текст как файл 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#, выполнив следующие действия:
- Загрузить исходный файл PDF
- Инициировать строковую переменную
- Прочитайте каждую страницу с помощью TextFormattingMode.Pure.
- Сохранить преобразованный 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 (крайнее левое окно).
Этот снимок экрана с входными и выходными файлами позволяет вам решить, какой подход к преобразованию подходит вам лучше всего.
Преобразование файла TXT в PDF программно с использованием C# или VB.NET
Файлы TXT часто содержат огромное количество текста. Вы можете легко преобразовать файл TXT в файл PDF с помощью Aspose.PDF для .NET API. Просто следуйте инструкциям ниже, чтобы выполнить преобразование текста в PDF:
- Создайте экземпляр класса TextReader.
- Инициализировать документ PDF и добавить пустую страницу
- Создать объект TextBuilder
- Прочитайте каждую строку текста из входного файла TXT
- Сохранить выходной 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 довольно эффективно и быстро. Однако, если у вас есть какие-либо проблемы или вопросы, напишите нам на Форум бесплатной поддержки или изучите Документацию по продукту. Мы были бы рады получить известия от вас!