Как узнать кодировку pdf документа?
Есть проблема. При копировании текста из pdf в любой текстовый редактор (Open Office, gedit) получаются кракозябры. Пробовал менять кодировки на лету в gedit, но кракозябры остаются. Декодер с сайта студии Артемия Лебедева также не помог. Видимо кодировка какая-то больно экзотическая. Сам документ отображается вполне корректно — открывал и Adobe Readerом, и xpdf, и встроенным в Ubuntu просмотрщиком.
Посоветуйте плз как решить эту проблемку
Ответы:
самый правильный путь — отрендерить в пиксельный формат и распознать какой-нибудь OCR
Я заинтересовался вашим вопросом. Сначала казалось, что нужен шрифт (его не хватает — AdvnTimes), который встроен в pdf, но отсутствует на компьютере. Но нашёл вот, что: http://forum.ru-board.com/topic.cgi?forum=4&topic=3050&start=200
для этого. ну чтоб открыть. нужен Акробат. прога такая. у меня у самой не открывает. мучаюсь все время)
Часто такое бывает. Решение: программа Штирлиц отображает нормально.
Iceni Infix (http://www.iceni.com/ru/)
RPI.su — самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected] . Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.
Кодирование PDF-файлов
Если задать пароль PDF-файла, файл могли открывать, править или печатать только пользователи, которые ввели правильный пароль.
Сведения о дополнительно приобретаемых модулях, которые требуются для использования этой функции, см. в разделе «Дополнительно приобретаемая продукция, необходимая для каждой из функций.»
Этот режим доступен только при сохранении файлов в устройстве памяти.

Нажмите клавиши → [Сканировать и сохранить] → [Устройство памяти].

Выберите требуемое устройство памяти → выберите каталог назначения → нажмите клавишу [Сканирование].
/b_ssave_020_01_b_C.jpg)
Нажмите клавишу [Формат файла] → выберите формат PDF.
/b_ssave_025_01_c_C.jpg)
Нажмите клавишу [Кодирован.] → задайте требуемые значения для каждого параметра.
Выберите версию PDF, для которой задается уровень кодировки. Можете выбрать один из следующих вариантов:
[Acrobat 3.0 или более поздн./40-бит. RC4]
[Acrobat 6.0 или бол. поздн./128-бит RC4]
[Acrobat 7.0 или бол. поздн./128-бит AES]
[Acrobat 9.0 или эквивалент/256-бит AES]*
[Acrobat 10.0 или эквивалент/256-бит AES]
* Отображается только в том случае, если этот вариант выбран для параметра [Парам. 256-битн. AES для реж. Кодир. PDF] в меню [Параметры функции] (Параметры/Регистрация). (См. «Изменение уровня кодирования PDF с Acrobat 10.0 или эквивалентный на Acrobat 9.0 или эквивалентный.»)
[Пароль для открытия документа]
Выберите эту клавишу для установки пароля для открытия сохраненных файлов.
[Пароль для открыт. док.]
Задайте пароль, необходимый для открытия документа.
[Password Required to Change Permission]
Выберите эту клавишу, чтобы задать пароль для печати или редактирования отсканированного файла PDF. При выборе этой клавиши можно задать такие параметры, как <Разрешить печать>, <Разрешить измен.>и [Разрешить копир. и из- влечение изобр./текста].Разрешить>
[Пароль разрешения]
Задайте пароль разрешения для документа.
[Сохранить пароль]
Если для параметра [Пароль для открытия документа] или [Пароль для изме- нения разрешения] задано значение «Вкл.», сохраняется пароль. Если пароль уже сохранен, его можно вызвать, нажав клавишу [Кодирован.] в пункте [Формат файла]. Этот пункт отображается, если вход в систему выполнен с использованием аутентификации SSO-H.
[Не разре- шать]: Печать запрещена.
(Даже если выбран вариант [Не разре- шать], файл можно распечатать, открыв его с паролем разрешения в программе Adobe Acrobat 5 или более ранней версии.)
[Разреш. (тлк низк.рзр.)]: разрешается только печать с низким разрешением.
(Отображается только при выборе варианта [Acrobat 6.0 или бол. поздн./128-бит RC4], [Acrobat 7.0 или бол. поздн./128-бит AES], [Acrobat 9.0 или эквивалент/256-бит AES] или [Acrobat 10.0 или эквивалент/256-бит AES].)
[Разрешить]: печать разрешена.
[Не разре- шать]: изменение файлов не разрешается.
[Вставка, удаление или поворот страниц]: разрешаются вставка, удаление и поворот страниц.
(Отображается только в том случае, если выбран вариант [Acrobat 6.0 или бол. поздн./128-бит RC4], [Acrobat 7.0 или бол. поздн./128-бит AES], [Acrobat 9.0 или эквивалент/256-бит AES] или [Acrobat 10.0 или эквивалент/256-бит AES].)
[Подпись в поле подписи]: если PDF-файле уже имеется поле подписи, разрешается добавление цифровой подписи в это поле подписи.
(Отображается только в том случае, если выбран вариант [Acrobat 6.0 или бол. поздн./128-бит RC4], [Acrobat 7.0 или бол. поздн./128-бит AES], [Acrobat 9.0 или эквивалент/256-бит AES] или [Acrobat 10.0 или эквивалент/256-бит AES].)
[Комментир. и подпись в поле подписи]: разрешается добавлять комментарии и цифровую подпись к полю подписи (если в файле PDF уже имеется поле подписи).
[Изменения кроме доб. комм./удал. стр.]: разрешаются изменения файлов, за исключением добавления комментариев и извлечения страниц.
(Отображается только в том случае, если выбран вариант [Acrobat 3.0 или более поздн./40-бит. RC4].)
[Изменения док., исключ. извлечение стр.]: разрешается изменение файлов за исключением извлечения страниц.
[Разрешить доступ, копир. и извлечение изоб./текста]
Выберите эту клавишу для разрешения доступа, копирования и извлечения страниц. Кроме того, предусматривается функция чтения текста вслух для людей с пониженной зрительной функцией. (Отображается только в том случае, если выбран вариант [Acrobat 3.0 или более поздн./40-бит. RC4].)
Если выбран вариант [Acrobat 6.0 или бол. поздн./128-бит RC4], [Acrobat 7.0 или бол. поздн./128-бит AES], [Acrobat 9.0 или эквивалент/256-бит AES] или [Acrobat 10.0 или эквивалент/256-бит AES], отображаются параметры [Разрешить копир. и из- влечение изобр./текста] и [Вкл. доступ при пониж. функции зрения], которые можно задавать отдельно.

Если не был введен пароль в поле [Пароль для открыт. док.] или [Пароль разрешения], введите пароль на экране, открывающемся при нажатии клавиши .
Можно сохранять параметры для кодированных PDF-файлов в часто используемых параметрах. Если вы не хотите задавать пароли для параметров [Пароль для открыт. док.] и [Пароль разрешения] в пункте [Часто исп. пар.], оставьте поле для ввода пароля пустым.
Нельзя задавать один и тот же пароль в полях [Пароль для открыт. док.] и [Пароль разрешения].
Даже если на PDF-файл с помощью опции [Пароль разрешения] установлены ограничения, некоторые из этих ограничений могут игнорироваться, если читатель открывает PDF-файл с помощью определенной программы.
Пароль можно сохранить только в том случае, если вход в систему выполнен с использованием службы SSO-H. Если не выполнить вход в систему с помощью службы SSO-H, клавиша [Сохранить пароль] не отображается.
Каждый пользователь может сохранить один пароль. Если ввести новый пароль при наличии уже сохраненного пароля, существующий пароль перезаписывается.
Если поле [Пароль для открыт. док.] или [Пароль разрешения] оставлено пустым, сохраненный пароль удаляется.
ПРИМЕЧАНИЕ
Вариант [Acrobat 9.0 или эквивалент/256-бит AES] для параметра <Уровень кодировки>отображается только в том случае, если этот вариант выбран для параметра [Парам. 256-битн. AES для реж. Кодир. PDF] в меню [Параметры функции] (Параметры/Регистрация).Уровень>
Для открытия PDF-файлов, для которых установлен уровень кодирования [Acrobat 6.0 или бол. поздн./128-бит RC4], требуется Adobe Acrobat 6.0.
Для открытия PDF-файлов, для которых установлен уровень кодирования [Acrobat 7.0 или бол. поздн./128-бит AES], требуется Adobe Acrobat 7.0.
Для открытия PDF-файлов, для которых установлен уровень кодирования [Acrobat 9.0 или эквивалент/256-бит AES], требуется Adobe Acrobat 9.0.
Для открытия PDF-файлов, для которых установлен уровень кодирования [Acrobat 10.0 или эквивалент/256-бит AES], требуется Adobe Acrobat 10.0.
Если задан [Пароль для открытия документа], кодированные PDF-файлы нельзя открыть без ввода пароля.
Если задан [Пароль для изме- нения разрешения], кодированные PDF-файлы нельзя распечатать или отредактировать без ввода пароля.
Нажмите клавиши [OK] → [OK].
ПРИМЕЧАНИЕ
Режим «Кодированный PDF» невозможно задать, если для параметра [Изменить формат PDF на PDF/A] задано значение «Вкл.». (См. «Форматирование PDF-файлов в соответствии со стандартом PDF/A.»)
Узнать кодировку файла
Есть файл не понятно в какой кодировке, нужно определить кодировку, написал вот такой вариант, но уверен что есть способ определения кодировки на много проще, подскажите.
# какой то файл скачанный с интернета в неизвестной кодировке. open('test.txt', 'w', encoding='cp500').write('Hello\n') # сюда можно впихнуть все известные кодировки. encoding = [ 'utf-8', 'cp500', 'utf-16', 'GBK', 'windows-1251', 'ASCII', 'US-ASCII', 'Big5' ] correct_encoding = '' for enc in encoding: try: open('test.txt', encoding=enc).read() except (UnicodeDecodeError, LookupError): pass else: correct_encoding = enc print('Done!') break print(correct_encoding)
Отслеживать
задан 1 авг 2017 в 15:17
Игорь Игоряныч Игорь Игоряныч
1,903 4 4 золотых знака 15 15 серебряных знаков 27 27 бронзовых знаков
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
from chardet.universaldetector import UniversalDetector detector = UniversalDetector() with open('test.txt', 'rb') as fh: for line in fh: detector.feed(line) if detector.done: break detector.close() print(detector.result)
Отслеживать
ответ дан 1 авг 2017 в 16:27
Sergey Gornostaev Sergey Gornostaev
66.5k 6 6 золотых знаков 53 53 серебряных знака 112 112 бронзовых знаков
Еще мудренее чем у меня, и не все кодировки распознает, да еще и левый модуль нужно устанавливать, я так понял проще способа нет.
1 авг 2017 в 17:14
Проще способа нет. Но chardet в этой области признанный стандарт, используемый чуть ли не каждым вторым модулем из PyPI.
1 авг 2017 в 17:17
@ИгорьИгоряныч: способ в вопросе явно неверный: отсутствие исключения не говорит, что «правильную кодировку» нашли — вы таким образом кракозябры можете получить. В общем случае, не существует метода определения «правильной» кодировки. Но отдельные кодировки могут быть более вероятными нежели другие. chardet именно этим и занимается: гадает какие кодировки наибольшие шансы имеют.
Что делать, если в текстовом файле неверная кодировка (каракули)?
Рассмотрим в данной инструкции, что делать, если Вы открыли или загружаете файл, а там «каракули»?
Файл с неверной кодировкой выглядит примерно так (рис.1):

Рисунок 1.
Причина этому неверная кодировка, поэтому кодировку файла надо изменить. Для этого нам понадобится перейти на сайт Notepad++ и скачать последнюю актуальную версию программы. На текущий момент актуальная версия 8.1.4, скачиваем программу и устанавливаем (рис.2).

Рисунок 2.
Далее кликом правой клавиши мыши откройте Ваш файл через Notepad++ и через меню «Кодировки»- «Преобразовать в UTF-8» или «Encoding» -«Convert to UTF-8» преобразуйте кодировку файла, далее сохраните файл (рис. 3.).

«Преобразовать в UTF-8″ исправляем кодировку файла» />
Рисунок 3.
Готово. Мы рассмотрели, что делать, если Ваш файл имеет неверную кодировку.
Другие статьи по теме
- Договор и документы
- Дополнительные сервисы
- Можно ли выкупить магазин в облаке/купить лицензию для магазина в облаке?
- На каком языке программирования реализован магазин?
- Через какое время сайт появится в поисковых системах?