One small example how to automate Microsoft Word and printout a
postscript file with a specified postscript printer (yes, more than one
printers can be installed on the system).
Multithreadding:
Unlike
Powerpoint Microsoft Word can run in multiple instances – If a program
creates more Word processes you will see them in the task manager.
How to call the function:
You simply call the function with the name of the Word file, Postscript file and the printername which you want to use.:
eg.
make_ps.word(‘c:\test\wordfilename.doc’, ‘c:\test\psfilename.ps’, ‘My Postscript Printername’)
The source code:
import win32com.client, pythoncom, time
def word(wordfile, psfile, printer):
pythoncom.CoInitializeEx(pythoncom.COINIT_APARTMENTTHREADED)
myWord = win32com.client.DispatchEx('Word.Application')
myWord.Application.ActivePrinter = printer
myDoc = myWord.Documents.Open(wordfile, False, False, False)
myDoc.Saved=1
myWord.Application.NormalTemplate.Saved = 1
myWord.PrintOut(True, False, 0, psfile)
while myWord.BackgroundPrintingStatus > 0:
time.sleep(0.1)
myDoc.Close()
myWord.Quit()
del myDoc
del myWord
pythoncom.CoUninitialize()