2011-07-19 9 views
3

Je veux un cadre avec un document PDF. Le document principal utilisera javascript pour indiquer au document PDF la page à afficher et le niveau de zoom. Cela peut-il être fait? Si oui, comment ou pourriez-vous me diriger vers la documentation à ce sujet? Merci.Contrôle PDF en utilisant javascript dans le navigateur Web

Répondre

2

Vous ne pouvez pas/ne devez pas le faire dans un cadre, mais vous pouvez créer un <object> sur votre page qui est contrôlable à l'aide de l'API JavaScript.

http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/js_api_reference.pdf

+0

Cette ressemble non seulement à ce dont j'ai besoin, mais beaucoup plus. Merci! Un problème - comment exactement je fais référence au document de script dans la page Web qui a l'objet et puis utiliser le javascript décrit dans l'API d'Adobe pour le manipuler. Pourriez-vous donner un exemple simple. – thf

+0

Je veux vraiment vérifier cela comme la réponse, mais j'ai encore besoin de la réponse à la façon de le contrôler. – thf

2

pas facilement. Tout dépend de ce qui est utilisé pour afficher le PDF dans le navigateur. Tous les navigateurs n'ont pas de visionneuse PDF intégrée, et il y a aussi beaucoup de visionneuses externes différentes (par exemple Acrobat, Fox-It, etc ...). Pour autant que je sache, il y a

Vous pouvez essayer de piratage l'URL comme ceci:

http://example.com/somedocument.pdf#page=5 

mais cela peut travailler dans Acrobat uniquement, comme indiqué ici: http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf

+0

Au moins, le paramètre 'page' fonctionne avec la plupart des plugins PDF que j'ai vus jusqu'à présent. – Michael

0

Jetez un oeil à jsPDF - il ne peut pas afficher un .pdf à l'écran dans IE6 et IE7 en raison de limitations avec les données, mais c'est un bon début. Je ne vois pas pourquoi cela ne pourrait pas être construit dans un iframe non plus.

2

Avez-vous besoin d'un lecteur PDF pour être chargé et en cours d'exécution? Si ce n'est pas le cas, vous pouvez écrire un script/programme dorsal pour rendre une page spécifiée en tant qu'image (GIF, PNG, etc.) à un niveau de zoom particulier. Ensuite, votre page principale pourrait charger une image avec quelque chose comme:

<img src="render_pdf?page=4&zoom=150"> 

La valeur src peut être contrôlée avec le javascript pour la rendre dynamique.

Pour convertir un fichier PDF en image dans votre script render_pdf, vous pouvez utiliser ghostscript ou une bibliothèque spécifique à l'image telle que ImageMagick ou GD, en fonction de la technologie principale que vous utilisez.

-1

Comme Jordan l'a souligné, vous devez utiliser la balise <object> pour intégrer le fichier PDF. Puis, dans le PDF lui-même, vous devez intégrer Javascript pour gérer les messages que vous passez dans, tels que:

if(!this.hostContainer.messageHandler) this.hostContainer.messageHandler = new Object(); 
this.hostContainer.messageHandler.onMessage = handleMessage; 
function handleMessage(msg) { 
    // do stuff here 
} 

Enfin, dans votre code HTML JS, vous passez des messages avec:

document.getElementById('yourpdfobject').postMessage('some message or array'); 
Questions connexes