8
votes

Mettre en surbrillance une section à l'intérieur du PDF à l'aide de PDF.js

Je suis actuellement en train d'utiliser pdf.js pour mon projet pour rendre PDFS.

Il y a maintenant cette tâche délicate pour mettre en surbrillance une section d'une page PDF compte tenu des coordonnées.

Exemple

Compte tenu d'une section limite comme [(31,35), (40,35), (40, 40), (31,40)] i doit mettre en surbrillance la section donnée avec n'importe quelle couleur primaire de choix.

Comment puis-je accomplir cette tâche à l'aide de JavaScript et de l'API PDF.JS?

est-ce possible ou je sonne trop ambitieuse?


0 commentaires

4 Réponses :


4
votes

Un des auteurs pour pdf.js, cjones , a déclaré:

non, et c'est (mettre en évidence) pas comme quelque chose que nous allions ajouter au fichier pdf.js. Qui devrait être facile à couche sur le dessus de pdf.js.

source : http://blog.mozilla.org/cjones/2011/07/03/pdf-js-first-milestone/

Vous devrez la mettre en œuvre vous-même si vous souhaitez utiliser cette fonctionnalité.


1 commentaires

Votre meilleur pari est d'examiner canvas.js dans le dossier SRC: github.com/mozilla/pdf.js/blob/master/src/canvas.js . Les fonctions AVC et Remplir peuvent s'avérer utiles. Prendre plaisir!



3
votes

J'ai trouvé un meilleur moyen d'atteindre cette tâche de trouver la coordonnée du point de la page HTML

puis soustrayez la coordonnée (position) de div.textlayer de celui-ci pour trouver la coordonnée

du texte dans le PDF affiché en ligne.

Afin de trouver la coordonnée du texte dans le PDF réel, trouvez le rapport de format et vous seriez

Obtenez la coordonnée réelle

exemple

Si le PDF affiché en ligne est 800x900 et le texte coordonnat

[(31,35), (40,35), (40, 40), (31,40)]

et la taille pdf réelle est 612x792

Trouver la valeur appropriée de la zone dans le PDF actuel comme celui-ci

(612 / (800/11)), (792 / (900/35))

et faire de cette façon pour toutes les coordonnées trouvées dans Online

I.e

(40,35), (40,40), (31,40)

NOTE: -

peut vouloir vérifier l'API PDF.JS appelée ConvertTopDFpoint


2 commentaires

Avez-vous un exemple de repo ou en direct de cela?


Désolé je n'ai pas encore de source.



0
votes

Si la sélection de texte peut suffire à vos besoins, vous trouverez peut-être une entrée pour votre solution dans pour mettre en évidence le texte dans pdf.js .

Le texte est sélectionné via document.getselection () code>. p>

Réglage de la couleur Comme vous l'avez dit peut être accompli en utilisant P>

<span class="hightlight">


0 commentaires

0
votes

J'ai écrit cet exemple pour montrer comment peut être vrai, l'affichage PDF avec Textlayer, uniquement avec la bibliothèque PDF.JS mise à jour. Si vous souhaitez l'interface de la bande PDF normale, vous devez utiliser Viewer.js et implémenter les auditeurs.

p>

<link href="https://mozilla.github.io/pdf.js/web/viewer.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.11.338/pdf.min.js"></script>


<div id="pdfContainer" class="pdf-content"></div>


0 commentaires