我正在尝试自动执行在~30 Word文档(* .doc)的双页打印两份副本的任务。我想使用py2exe将转换为.exe
的程序(我只为Windows计算机计划)发送。我知道我可以手动检查选项,但我将无法在20台左右的计算机上使用它,以及我无法安装在这台计算机上的新软件(这就是为什么我要将其转换为.exe
)。
我复制this solution进行打印,但我不能让它适应我想做的事情:
from win32com import client
import time
word = client.Dispatch("Word.Application")
filename=input("What files do you want to print?")
def printWordDocument(filename):
"""Given a name of a file prints it. TODO: Add double page."""
word.Documents.Open(filename)
word.ActiveDocument.PrintOut()
time.sleep(2)
word.ActiveDocument.Close()
word.Quit()
我找不到以双页打印的任何选项,或者至少是自动打印,PrintOut方法双页的唯一选项是ManualDuplexPrint
,在文档中说:“真打印双面没有双面打印套件的打印机上的文档。“,但我不想让打印所有文档更加容易。并使程序可移植到其他计算机,而无需修改Word文档(我不创建它们)。
还有其他办法吗?或者其他任何选择吗?
更新
我无法使用visual-basic(但是)进行编码,但如果我得到一个模板或一些提示,我想我会设法根据我的条件制作一些东西。
答案 0 :(得分:0)
我已经结束了一个宏,但这只适用于我自己的计算机,而不适用于应该工作的所有计算机。
Sub Test()
'
' Test Macro
' Print in double page and 2 copies
'
ActivePrinter = "Xerox WC 24 PCL"
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentWithMarkup, Copies:=2, Pages:="", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
End Sub