Astuce Javascript? Comment scribd rend-il difficile de copier-coller même du texte

19

Dernièrement, j'ai vu que scribd rend très difficile pour les utilisateurs (utilisateurs gratuits) de parcourir un document hébergé sur leur site. Il n'est pas possible de rechercher dans un document, et encore moins de pouvoir le télécharger.

En utilisant javascript, ils chargent des pages à la demande dans le navigateur, et donc la fonction "enregistrer sous" du navigateur n'aide pas beaucoup.

À ma grande surprise, j'ai vu que même copier / coller des copies de texte charabia dans le presse-papiers! Pour vérifier ce qui n'allait pas, j'ai désactivé javascript dans le navigateur, puis chargé à nouveau le même document. Voila, j'ai vu le charabia. Et donc, il semble que le javascript de scribd décode en quelque sorte le charabia puis l'affiche dans le navigateur.

Maintenant, ma question est, même après que javascript soit activé, et que le texte soit rendu correctement dans le navigateur, si je regarde les objets DOM correspondant au texte que je sélectionne, je vois toujours le texte charabia.

Donc, maintenant, je suis confus. Le texte est bien affiché pour l'utilisateur, mais les objets DOM contiennent toujours du charabia. La question est donc de savoir quel type de code / crochet javascript le site utilise-t-il, afin de pouvoir conserver le charabia dans les objets DOM et toujours rendre le texte décodé?

Existe-t-il un moyen d'accéder au texte décodé? Mon intention n'est pas de désosser l'algorithme à décoder, mais de localiser où le texte décodé est stocké?

Exemple de document:

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

Voyez ce qui se passe lorsque vous activez / désactivez Javascript!

user2497064
la source
C'est un peu simple. Ils ont créé une visionneuse pdf javascript. Mozilla a fait quelque chose avec Firefox. Étant donné que votre visionneuse PDF n'est pas réellement utilisée pour afficher le contenu, elle peut contrôler presque tous les aspects de l'expérience de visualisation.
Ramhound

Réponses:

15

Regardez le font-familypour le span. Ils utilisent une police personnalisée (dans ce cas ff6).

Ils doivent le faire pour que davantage de documents PDF s'affichent correctement. Comme dans les documents PDF, il n'est pas nécessaire que le texte du document utilise un jeu de caractères standard. Il suffit d'en utiliser un dont le code correspond aux glyphes de la police intégrée.

Dan D.
la source
10

Si vous regardez le texte affiché par rapport au "charabia", vous pouvez voir que certaines lettres sont les mêmes, tandis que certaines lettres sont remplacées. Par exemple, "Mltmrprfsm Jblbemr" est "Enterprise Manager". Avec suffisamment de texte, vous devriez pouvoir créer une table de traduction rapide. Déjà, nous savons que M se traduit par E , L -> N , T , R et P sont clairs, F -> R , etc. Étant donné le temps, le travail de détective et les compétences de programmation modestes, on pourrait traduire tout le document.

Bien sûr, il n'y a aucune garantie que le prochain document utilisera la même ff6police que celle mentionnée par Dan D. , donc la saisie de cette police pour une utilisation locale devrait être votre prochaine étape si vous souhaitez enregistrer le texte pour plus tard.

MattDMo
la source
0

Vous pouvez essayer de capturer une capture d'écran à l'aide de l'outil de recadrage du navigateur, puis d'utiliser l'un des sites ocr en ligne facilement disponibles pour la convertir en texte. Cela devrait vous éclairer.

guy841185
la source