19

В последнее время я видел, что scribd очень усложняет пользователям (свободным пользователям) просмотр документа, размещенного на их сайте. В документе нет возможности поиска, не говоря уже о возможности его загрузки.

Используя javascript, они загружают страницы по требованию в браузер, поэтому функция "сохранить как" в браузере мало помогает.

К моему изумлению, я увидел, что даже копирование / вставка текста копирует бред в буфер обмена! Чтобы проверить, что было не так, я отключил JavaScript в браузере, а затем снова загрузил тот же документ. Вуаля, я видел бред. Итак, похоже, что javascript от scribd каким-то образом декодирует бессмысленный текст и затем отображает его в браузере.

Теперь мой вопрос заключается в том, что даже после включения javascript и правильного отображения текста в браузере, если я перехожу к объектам DOM, соответствующим выбранному тексту, я все равно вижу бессмысленный текст.

Итак, теперь я в замешательстве. Текст отображается правильно для пользователя, но объекты DOM по-прежнему содержат бред. Таким образом, вопрос заключается в том, какой тип javascript-хуков / кода использует сайт, чтобы иметь возможность сохранить тарабарщину в объектах DOM и по-прежнему отображать декодированный текст?

Есть ли способ получить доступ к декодированному тексту? Мое намерение состоит не в том, чтобы перепроектировать алгоритм декодирования, а в том, чтобы найти, где хранится декодированный текст?

Пример документа:

http://www.scribd.com/doc/143886351/OCP-Upgrade-to-Oracle-Database-12c-Student-Guide-vol-1-Exam-1Z0-060

Посмотрите, что происходит, когда вы включаете / выключаете Javascript!

2 ответа2

15

Посмотрите на семейство font-family для span . Они используют собственный шрифт (в данном случае ff6).

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

10

Если вы посмотрите на отображаемый текст вместо "тарабарщины", вы увидите, что некоторые буквы одинаковы, а некоторые заменены. Например, "Mltmrprfsm Jblbemr" - это "Менеджер предприятия". Имея достаточно текста, вы сможете составить таблицу быстрого перевода. Мы уже знаем, что M переводится как E, L -> N, T, R и P - ясно, F -> R и т.д. Учитывая некоторое время, детективную работу и скромные навыки программирования, можно перевести весь документ.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .