Поиск PDF-файлов с нестандартной кодировкой символов

Некоторые PDF-файлы создают мусор (" mojibake ") при копировании текста (даже если они отображаются нормально). Это делает невозможным их поиск (все, что вы ищете, не будет соответствовать мусору).

У кого-нибудь есть легкий обходной путь?

Примеры:

  1. Руководство по TEAC TV EU2816STF (дает вышеупомянутые проблемы в Adobe Reader как на Windows, так и на Mac, но отлично работает в Preview на Mac)
  2. Руководство по Leadtek Winfast PVR2 (FTP-ссылка; также есть проблемы с предварительным просмотром на Mac)
  3. Руководство по ТВ-тюнеру Swann (FTP-связь; также есть проблемы в Preview на Mac)
  4. Лицензионное соглашение Phonedisc (от ныне не существующей DTMS)
  5. Ежеквартальный обзор фонда Macquarie IFP
  6. Буклет BAN-TACS для малого бизнеса (в архиве)
  7. Флаер Easterfest 2004 (также из архива)

Я использую Adobe Reader (последняя версия) для Windows - может быть, вам поможет альтернативный просмотрщик? Я ищу бесплатное решение для Windows. С открытым исходным кодом было бы еще лучше.

Редактировать: Документы для инструмента Multivalent Extract Text содержат хорошее резюме того, почему что-то может пойти не так, включая: (цитируемый документ, последний раз измененный январь 2006 г.)

  • Текст может не иметь отображения Unicode. Шрифты PDF Type 3 часто отсутствуют, а в TeX DVI есть символы, которые не имеют эквивалентов Unicode.
  • Кодировка Unicode может содержать ошибки. Open Office отображает некоторые символы в один и тот же Unicode, что приводит к падению букв удваивания и удвоению.

Я полагаю, что окончательным решением в этих случаях было бы распознавание каждого символа в шрифте, чтобы выяснить, что это за символ на самом деле. Обратите внимание, что это будет проще, чем распознавание документов с шумным сканированием, потому что доступна точная форма глифа (с бесконечным разрешением, поскольку это "векторное" изображение).

5 ответов

Самый простой способ обойти это - открыть файл в последней версии Google Chrome со встроенным плагином для чтения PDF. Затем вы можете использовать функцию поиска Chrome для поиска текста, и копирование-вставка работает правильно.

Foxit Reader, возможно?

Что бы это ни стоило, я только что проверил PDF-файл, на который вы ссылались с Safari 4.0.4 в Mac OS X 10.6.2, и, хотя есть немного английского языка, PDF-файл отображается безошибочно, без всякого "мусора" на экране. Возможно, у вас проблемы с Unicode (чаще встречаются в Windows, чем в Mac OS)?

Например, руководство по ТВ: та же проблема в Adobe Reader 8.1.2 на Mac, но нет проблем с использованием предварительного просмотра Mac для копирования или поиска текста. Кроме того, отправка его в учетную запись Gmail и затем выбор "Просмотр", а затем "Простой HTML" открывает текст. Но Adobe Reader это не нравится.

Его свойства документа показывают "Кодировка: Пользовательский" для шрифтов. Другой документ показывает такие вещи, как "Кодировка: Ansi" или "Роман", и не имеет проблем ни в Preview, ни в Adobe Reader на Mac:

введите описание здесь

введите описание здесь

Однако и примеры Leadtek, и Swann создают проблемы в Preview на Mac, а также в Gmail, и оба показывают "Encoding: Identity-H". Тест Phonedisc тоже не пройден, с "Encoding: Custom".

Запутанно и не согласовано, но на каком-то форуме Adobe я нашел следующее объяснение еще одного примера, показывающего "Кодировка: Пользовательский" (выделено мной):

После просмотра PDF-файла выясняется, что полезной информации о кодировке нет (ни в PDF-файле, ни во встроенных данных шрифта), чтобы определить значение символов / глифов, отображаемых на страницах документа.

Фактически все шрифты встроены, но таким образом, что вся информация о кодировке была удалена. Это типичный пример PDF, который синтаксически полностью соответствует спецификации PDF, но там, где важная информация о значении текста в нем была отброшена в процессе создания PDF. Насколько я могу судить, было бы очень трудно восстановить информацию о кодировке.

Это не объясняет, почему предварительный просмотр Mac (и, по- видимому, также Infix) может обрабатывать некоторые примеры, когда Adobe Reader дает сбой, даже с "Encoding: Custom". Может быть, у Preview нет проблем, когда точный шрифт присутствует на самом компьютере? Или, может быть, это просто угадывание кодировки, которая работает для некоторых, но не для всех документов?

Что бы это ни вызывало: если прохождение через Google Docs или Gmail не работает, то, возможно, самый простой (но далеко не простой) обходной путь - это действительно сохранить в формате TIFF, а затем выполнить OCR. Такие сервисы, как Evernote, могут делать это на лету (это делает OCR на изображениях; я сомневаюсь, что это сделает OCR на PDF).

Загрузка файла 1 не удалась для меня, файл 2, который я мог открыть с помощью xpdf, быстрого и открытого программного обеспечения для просмотра PDF. Я думаю, что он не может обрабатывать формы, но для чистого текста и графики я предпочитаю его для быстрого запуска.

К сожалению, ничего не поделаешь. Документы PDF на самом деле не содержат букв, но содержат формы букв. Другими словами, вместо того, чтобы читать письмо и рисовать его на экране, Adobe Reader, как любое другое приложение для чтения PDF, просто рисовало векторную графику, закодированную в файле.

Тем не менее, некоторые программы для чтения PDF поставляются с программным обеспечением, которое позволяет анализировать форму и восстанавливать текст с помощью распознавания текста. Он работает так же, как если бы вы сканировали бумагу с напечатанным текстом и использовали программное обеспечение, такое как ABBYY FineReader, чтобы преобразовать его обратно в текст, но из-за бесконечно высокого качества векторных рисунков результаты обычно намного лучше, чем для отсканированных документов.

Некоторые документы могут быть защищены от преобразования в текст, обманывая Adobe Reader. Например, буквы могут быть нарисованы в нескольких перекрывающихся формах таким образом, что визуально они все равно будут выглядеть одинаково, в то время как программное обеспечение для распознавания текста не сможет распознавать текст. Ваш документ является примером такой защиты.

Один из способов - распечатать документ в виде изображения и позволить программному обеспечению распознавания текста распознать его. Более высокое разрешение для изображения улучшит качество. Однако этот метод не очень удобен.

Другие вопросы по тегам