Programmatically Print a PDF File - Specifying Printer
pdf, printing, python
Solution
There's an underdocumented `printto` verb which takes the printer name as a parameter (enclosed in quotes if it contains spaces).
import tempfile
import win32api
import win32print
filename = tempfile.mktemp (".txt")
open (filename, "w").write ("This is a test")
win32api.ShellExecute (
0,
"printto",
filename,
'"%s"' % win32print.GetDefaultPrinter (),
".",
0
)
snippet from Ja8zyjits's link
Problem
I have a requirement to print an existing PDF file from a Python script. I need to be able to specify the printer in the script. It's running on Windows XP. Any ideas what I could do? This method looks like it would work except that I cannot specify the printer: ``` win32api.ShellExecute ( 0, "print", filename, None, ".", 0 ) ```