python32的Python打印
我无法让Python打印word文档。我要做的是打开Word文档,打印并关闭它。我可以打开Word和Word文档:python32的Python打印,python,win32com,Python,Win32com,我无法让Python打印word文档。我要做的是打开Word文档,打印并关闭它。我可以打开Word和Word文档: import win32com.client msword = win32com.client.Dispatch("Word.Application") msword.Documents.Open("X:\Backoffice\Adam\checklist.docx") msword.visible= True 我试着下一步打印 msword.activedocument.
import win32com.client
msword = win32com.client.Dispatch("Word.Application")
msword.Documents.Open("X:\Backoffice\Adam\checklist.docx")
msword.visible= True
我试着下一步打印
msword.activedocument.printout("X:\Backoffice\Adam\checklist.docx")
我得到“打印输出无效”的错误
有人能告诉我如何从Python打印这个文件吗。我认为这可能就像更改“打印输出”一词一样简单。谢谢,我是Python新手。您可能需要用
\
转义反斜杠字符\
:
msword.Documents.Open("X:\\Backoffice\\Adam\\checklist.docx")
编辑:解释
反斜杠通常用于声明特殊字符。例如,
\n
是新行的特殊字符。如果您想要文本\
,必须将其转义。msword.ActiveDocument
提供当前活动文档。PrintOut
方法打印该文档:它不将文档文件名作为参数
发件人:
特别是Word试图将您的文件名用作布尔值背景
,可以将其设置为真
在背景中打印
编辑:
案例很重要,错误有点奇怪msword.ActiveDocument.Printout()
应将其打印出来msword.ActiveDocument.printout()
抛出一个错误,抱怨“printout”不是属性
我认为内部发生的情况是,当您在属性上与大小写不匹配时,Python会尝试进行补偿,但在方法上却不太合适。或者类似的东西
ActiveDocument
和ActiveDocument
可以互换,但PrintOut
和PrintOut
则不能互换。此外,您还可以使用原始字符串,其中不可能使用这样的特殊字符:“X:\\Backoffice\\Adam”
将等于r“X:\Backoffice\Adam”
。这对于允许复制粘贴非常有用。谢谢,我可以打开它,但打印它时我无法完成word打开和文件打开,但打印功能无法执行?好的,我知道这是一个愚蠢的问题,但我是否只需要输入范围来打印所有类似的文件。word.activedocument.printout(范围=wdprintalldocument)或者需要输入上面的每个字符?我发现发生了异常。“,(0,'Microsoft Word',“'PrintOut'不是属性。”我已编辑了我的答案:您需要将PrintOut与大小写一起使用。
expression.PrintOut(Background, Append, Range, OutputFileName, From, To, Item,
Copies, Pages, PageType, PrintToFile, Collate, FileName, ActivePrinterMacGX,
ManualDuplexPrint, PrintZoomColumn, PrintZoomRow, PrintZoomPaperWidth,
PrintZoomPaperHeight)