2016-11-11 129 views
0

我有一個漂亮而整齊的VBS腳本,它可以打印拖拽到此VBS的所有文檔的前5頁。ADOBE VBS腳本設置/設置

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 

我的問題是關於設置。

我想知道如何設置這個VBS將打印第一個6頁作爲雙面,等等。它是否存在可用設置列表?

+1

您可以在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

哪種方法允許打印雙面?我只能看到單個打印。 – Denis

+0

這個怎麼樣? https://forums.adobe.com/message/6018827#6018827 –

回答

2

Deniiiis, - 如果你改變:

「對於i = 0至objArgs.Count - 5」(不打印最後4個文件)到

for i=0 to objArgs.Count - 1 

和「JSO .print false,0,0,true「(只打印第一頁)到

jso.print false, 0, 4, true 

然後腳本會做你的設想。

如果要打印雙面,則必須使用js打印參數pageHandling。 「通過將pageHandling設置爲nUp獲得每頁多頁」。您必須決定是否要將「nUpNumPagesH」用於水平佈局,或者將「nUpNumPagesV」用於垂直佈局 - 或者兩者兼而有之。

您發現這裏(下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

的例子是用艾可-js代碼。您必須在VBS中轉換爲jso(JavaScript對象),然後該腳本應該做你想要的。

如果你需要一些更多的幫助,不要猶豫,問,萊因哈德

PS:到時候你能讀懂的艾可JS幫助文件/ JS API參考一點點你使用的語句:-)