2016-11-11 1 views
0

J'ai un script VBS sympa et bien rangé qui imprime les 5 premières pages de tous les documents qui ont été déplacés vers ce VBS.ADOBE VBS Configuration du script/paramètres

set WshShell = CreateObject ("Wscript.Shell") 
set fs = CreateObject("Scripting.FileSystemObject") 
Set objArgs = WScript.Arguments 

if objArgs.Count < 1 then 
    msgbox("Please drag a file on the script") 
    WScript.quit 
end if 
    'contact Acrobat 
Set gApp = CreateObject("AcroExch.App") 
gApp.show 'comment or take out to work in hidden mode 

    'open via Avdoc and print 
for i=0 to objArgs.Count - 5 
    FileIn = ObjArgs(i) 
    Set AVDoc = CreateObject("AcroExch.AVDoc") 
    If AVDoc.Open(FileIn, "") Then 
     Set PDDoc = AVDoc.GetPDDoc() 
     Set JSO = PDDoc.GetJSObject 
     jso.print false, 0, 0, true 
     gApp.CloseAllDocs 
    end if 
next 

gApp.hide : gApp.exit : Quit() 
MsgBox "Done!" 

Sub Quit 
    Set JSO = Nothing : Set PDDoc = Nothing : Set gApp =Nothing : Wscript.quit 
End Sub 

Mes questions concernent les paramètres.

Je voudrais savoir comment configurer que cette VBS imprimera d'abord 6 pages en recto-verso, et ainsi de suite. Est-ce quelque part il y a une liste de paramètres disponibles?

+1

Pourriez-vous utiliser la méthode appropriée sur l'interface AVDoc? http://help.adobe.com/livedocs/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Acrobat9_HTMLHelp&file=IAC_API_OLE_Objects.103.33.html –

+0

Quelle méthode permet d'imprimer en double face? Je ne peux voir qu'une seule impression. – Denis

+0

Que pensez-vous de cela? https://forums.adobe.com/message/6018827#6018827 –

Répondre

2

Deniiiis, - si vous changez:

"pour i = 0 à objArgs.Count - 5" (qui n'imprime pas les 4 derniers fichiers) à

for i=0 to objArgs.Count - 1 

et « JSO .print false, 0, 0, true "(qui imprime seulement la première page) à

jso.print false, 0, 4, true 

alors le script fera ce que vous avez supposé.

Si vous souhaitez imprimer recto verso, vous devez utiliser le paramètre js print pageHandling. "Plusieurs pages par feuille est obtenue en définissant pageHandling à nUp." Vous devez décider si vous voulez utiliser "nUpNumPagesH" pour une disposition horizontale ou "nUpNumPagesV" pour une verticale - ou les deux.

Un exemple et des explications que vous trouverez ici (nUpNumPagesH): http://help.adobe.com/livedocs/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/wwhelp/wwhimpl/js/html/wwhelp.htm?href=JS_API_AcroJS.88.981.html&accessible=true

L'exemple est écrit dans le code Acro-js. Vous devez transformer en jso (JavaScript Object) dans VBS, alors le script devrait faire ce que vous voulez.

Si vous avez besoin d'aide pour cela, ne pas hésiter à demander, Reinhard

PS: En temps, vous pouvez lire un peu dans le fichier d'aide Acro JS/JS référence de l'API pour les déclarations que vous utilisez :-)