Последнее обновление:
Как вставить текст из файла pdf с неправильной кодировкой?
Иногда русский текст (кириллица) в pdf-файле читается нормально, но при копировании вставляется в виде так называемой абракадабры, типа:
Ýòîò ïðîöåññ, êàê ïðàâèëî, ñîñòîèò èç ñëåäóþùèõ òð¼õ øàãîâ:
Именно так может выглядеть русскоязычный текст при копировании его из файла pdf (например, из Adobe Reader).
Как преобразовать такой текст в правильный, читаемый вид?
Наверное, есть масса разных способов. Предлагаем, на наш взгляд, самый простой. Потребуется дополнительно программа Notepad++. При этом в нее или из нее ничего копировать НЕ ПРИДЕТСЯ. Она потребуется лишь для преобразования текста, скопированного из Adobe Reader.
Невероятно, но факт: текст будет преобразовываться прямо в буфере обмена, безо всякой вставки или дополнительного копирования.
Такая проблема редко, но бывает
Когда файл pdf сохранен, по всей видимости, в неверной кодировке.
Итак, вот, к примеру, такой файл.
Вроде бы, файл как файл. Но, если попробовать скопировать из него какой-либо текст, все русскоязычные буквы отобразятся в виде нечитаемых символов. Что же делать?
Итак, откроем Notepad++, создадим пустой файл. Обратим внимание, что он создался в кодировке Windows ANSI, т.е. Windows-1251.
Кстати, кодировку файла, открытого в этом текстовом редакторе, можно посмотреть также справа внизу экрана.
Если вставить теперь в этот файл текст, скопированный из указанного ранее файла pdf, то получится следующее:
Чтобы решить проблему, надо всего-навсего, НЕ ВСТАВЛЯЯ ТЕКСТ, преобразовать его. Нажав
Кодировки -> Преобразовать в UTF-8
Далее можно текст, который содержится в буфере обмена (будучи скопированным из файла pdf), вставить в любой другой редактор, например, в Microsoft Word или в тот же Notepad++. И он будет вставлен уже корректно, т.е. в виде кириллицы. Вставим его в Notepad++:
Как видно, текс практически весь вставился корректно, за исключением буквы ё, которая вставилась как латинская j.
Если же файл, открытый в Notepad++, уже был закодирован в кодировке UTF-8, то тогда следует сделать преобразование, наоборот, в ANSI. И после этого текст опять-таки вставится корректно.
Таким образом, перед тем, как вставлять текст из pdf-файла, надо «сходить» в Notepad++ и сделать там преобразование кодировки:
- Если исходно там была ANSI, то преобразовать кодировку в UTF-8;
- Если исходно там была UTF-8 то преобразовать кодировку в ANSI.
Любопытно, но факт. Т.е. надо просто преобразовать кодировку, а в какую именно (в ANSI или в UTF-8) – неважно.
Более того – сам текст копировать в Notepad++ НЕОБЯЗАТЕЛЬНО! При преобразовании кодировки он сам, АВТОМАТИЧЕСКИ преобразуется, находясь в буфере обмена.
Иными словами, просто сходили в Notepad++, там преобразовали кодировку на другую (неважно, какую, только не в USC-2, конечно), и… можно дальше копировать текст из буфера обмена куда угодно.
Парадокс, но все работает.
Впрочем, этот способ работает не всегда
В некоторых случаях, при "особо интересных" файлах pdf, не помогает даже преобразование кодировок.