Очень часто в таких случаях, когда вы не можете выделить, копировать и вставлять текст из окна Acrobat (Reader), есть еще одна опция, которая все же может работать:
- Открыть Меню 'Файл' ,
- выберите 'Сохранить как ...' ,
- выберите 'Текст (обычный) (* .txt)' ,
- перейдите в целевой каталог,
- введите имя, которое вы хотите использовать для текстового файла.
У вас будет весь текст со всех страниц в файле, и вам нужно будет найти место, которое вы изначально хотели скопировать и вставить, поскольку это не так удобно, как прямое копирование и вставка. Но работает надежнее ....
Он также работает с acroread
в Linux (но вы должны выбрать 'Сохранить как текст ...' в меню файла).
Обновление
Вы можете использовать утилиту командной строки pdffonts
для быстрого анализа шрифтов, используемых в PDF.
Вот пример выходных данных, который демонстрирует, где, скорее всего, возникнет проблема с извлечением текста. Он использует один из этих файлов PDF с ручной кодировкой из GitHub-Repository , который был создан для предоставления примеров файлов PDF, которые хорошо комментируются и могут быть легко открыты в текстовом редакторе:
$ pdffonts textextract-bad2.pdf
name type encoding emb sub uni object ID
------------------------------- ------------ ----------- --- --- --- ---------
BAAAAA+Helvetica TrueType WinAnsi yes yes yes 12 0
CAAAAA+Helvetica-Bold TrueType WinAnsi yes yes no 13 0
Как интерпретировать эту таблицу?
- В приведенном выше PDF-файле используются два заданных шрифта (как указано префиксами
BAAAAA+
и CAAAAA+
к их именам, а также записями yes
в столбце sub
), Helvetica
и Helvtica-Bold
.
- Оба шрифта имеют тип
TrueType
.
- Оба шрифта используют кодировку
WinAnsi
(кодировка шрифта отображает идентификаторы символов, используемые в исходном коде PDF, на глифы, которые должны быть нарисованы).
Однако только для шрифта /Helvetica
в PDF имеется таблица /ToUnicode
(для /Helvetica-Bold
ее нет), как указано yes
/ no
в столбце uni
).
Таблица /ToUnicode
необходима для обеспечения обратного сопоставления символьных идентификаторов / кодов с символами.
Отсутствующая таблица /ToUnicode
для определенного шрифта почти всегда является верным индикатором того, что текстовые строки, использующие этот шрифт, не могут быть извлечены или скопированы и вставлены из PDF. (Даже если /ToUnicode
таблица есть , извлечение текста может по-прежнему представлять проблему, поскольку эта таблица может быть повреждена, неверна или неполна - как это видно во многих реальных файлах PDF, и как также продемонстрировано несколькими сопутствующими файлами в вышеупомянутом связанном репозитории GitHub.)