ADOBE VBS脚本设置/设置

时间:2016-11-11 08:10:39

标签: printing vbscript adobe activex acrobat

我有一个漂亮而整洁的VBS脚本,它会将所有文档的前5页打印出来,然后拖到这个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 个答案:

答案 0 :(得分:3)

Deniiiis, - 如果你改变:

“for i = 0 to 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设置为nUp获得每张多页。”您必须决定是否要将“nUpNumPagesH”用于horinzontal布局,或者将“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

该示例使用Acro-js代码编写。你必须在VBS中转换为jso(JavaScript对象),然后脚本应该做你想要的。

如果您需要更多帮助,请不要犹豫,Reinhard

PS:到时候你可以在Acro JS帮助文件/ JS API参考中阅读一些你使用的语句: - )