2010-08-22 5 views
1

J'ai une application qui gère plusieurs magazines PDF sur le disque dur. J'ai besoin d'ouvrir les fichiers PDF dans une page spécifique. Je suis capable d'appeler vbscript à partir de mon propre logiciel, donc je suis à la recherche d'un extrait de vbscript pour ouvrir un fichier PDF avec une page spécifique chargée. Je suis un développeur mac faisant un logiciel multi-plateforme, Windows n'est pas mon pain et mon beurre standard.ouvrir pdf à la page spécifique en utilisant vbscript

De la documentation Adobe, j'ai vérifié que l'utilisation des appels système pour ouvrir une URL comme:

http://myserver/mypdf#page=3

fonctionne très bien mais en essayant d'utiliser URL similaire avec le protocole de fichier factice comme:

fichier

: // chemin/vers/mypdf # page = 2

ne fonctionne pas. Après avoir pensé cela, j'ai décidé que je devrais essayer un appel de VBScript à COM ou ActiveX ou tout ce qu'ils utilisent ces jours-ci sur Windows mais je ne sais pas comment le faire.

Merci pour toute aide.

+0

Etes-vous en train d'essayer d'ouvrir le fichier PDF avec le lecteur PDF par défaut du système dans un processus séparé, par exemple Acrobat, ou en tant que cadre dans votre propre processus (en utilisant ActiveX/COM)? S'il s'agit d'un processus distinct, je suppose qu'il existe un paramètre de ligne de commande pour le processus que vous pouvez utiliser, mais qui peut varier d'un lecteur à l'autre. – Rup

+0

J'essaie d'ouvrir le fichier PDF avec le lecteur PDF par défaut du système, il est généralement acrobat. –

Répondre

3

Vous pouvez utiliser la "page = ..." paramètre Acrobat Reader, comme ceci:

Sub OpenPdf(filename, page) 
    Set wshShell = WScript.CreateObject("WSCript.shell") 
    wshShell.Run """%ProgramFiles%\Adobe\Reader 9.0\Reader\AcroRd32.exe"" /A ""page=" & _ 
     page & """ " & fileName 
End Sub 

OpenPdf "c:\temp\myfile.pdf", 20 
+0

merci pour la réponse rapide. Au lieu de coder en dur le chemin d'accès à Reader 9.0 (je ne peux pas vraiment être sûr si c'est la version installée) est-il un moyen d'interroger le chemin du lecteur installé? –

+0

Vous pouvez lire la clé de Registre 'HKEY_CLASSES_ROOT \ Applications \ AcroRD32.exe \ shell \ Read \ command' et extraire le chemin d'accès à AcroRd32.exe à partir de la valeur standard de la clé de Registre. http://www.activexperts.com/activmonitor/windowsmanagement/scripts/operatingsystem/registry/#RSDWORDRV.htm explique comment lire le registre à l'aide de VBScript. –

0

Essayez d'utiliser AcroExch.AVPageView.Goto() Méthode

et éviter le chemin de adobe exécutable