Неправильные символы из PDF при извлечении текста с помощью PDF Pig в С#C#

Место общения программистов C#
Ответить
Anonymous
 Неправильные символы из PDF при извлечении текста с помощью PDF Pig в С#

Сообщение Anonymous »

Я использую pdf pig для извлечения текста из загруженного пользователем PDF-файла. Цель состоит в том, чтобы сэкономить время на повторный ввод вручную. Файлы достаточно согласованы, чтобы использовать этот подход и искать идентифицируемые позиции ключевых слов и принимать подстроки.
Однако немалое количество загруженных PDF-файлов повреждено, и когда текст проходит, это полная ерунда. Я не могу загрузить PDF-файл, однако то, как они повреждены, похоже, соответствует моему тестированию.
Например, «sĞƌŝĚŝĂŶ,ŽŵĞƐ:Žď^ĐŚĞĚƵůĞ»
Должно быть написано «Расписание работ Veridian Homes».
Когда я копирую ту же строку из разные файлы, я получаю один и тот же текст.
Я использовал следующий код, чтобы извлечь текст из PDF-файла:

Код: Выделить всё

using UglyToad.PdfPig;
using UglyToad.PdfPig.Content;
using UglyToad.PdfPig.DocumentLayoutAnalysis.TextExtractor;

string fileName = "fileName";
string fullText = "";
var filePath = "path";

using (var doc = PdfDocument.Open(filePath))
{
foreach (Page page in doc.GetPages())
{
string pageText = ContentOrderTextExtractor.GetText(page);
fullText += pageText;
}
}
string path = @"C:\Users\mry10\Downloads\" + fileName + ".txt";
File.WriteAllText(path, fullText);
Console.WriteLine("Wrote to " + fileName);
Полный текст документа длиннее фрагмента, который я упомянул выше, но следует тем же принципам.
Существует ли стандартный способ исправить этот текст? Я пытался добиться этого, переключаясь между различными кодировками, пробуя идеи, упомянутые в этой теме на pdf-свинье, а именно, пытаясь использовать UTF Unknown, но мне не удалось заставить это работать.
Пока это согласовано, я мог бы, надеюсь, просто реализовать преобразование вручную (как при проверке найденного значения символа по сравнению с ожидаемым для всех соответствующих символов), но это кажется довольно неэлегантным.
Я мог бы переключиться на OCR, например как Tesseract, но у него тоже есть некоторые проблемы с реализацией, и я думаю, что полагаться только на извлечение текста должно быть быстрее и точнее.
Кроме того, я знаю, что есть некоторые потенциальные инструменты для исправления поврежденных PDF-файлов, которые можно было бы использовать для их очистки перед запуском моего кода, но это нежизнеспособное решение с точки зрения рабочего процесса.

Подробнее здесь: https://stackoverflow.com/questions/798 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»