I ended up using win32api and win32print and setting my default printer preferences. There is a way to expose all the printer defaults, but I haven't figured out how to set them yet.
import osfrom os import path
from os import listdir
from os.path import isfile, join
import win32api
import win32print
mypath = r"\\<your path goes here>"
#list all the files in a folder
files = [ f for f in listdir(mypath) if isfile(join(mypath,f)) ]
for file in files:
file = mypath + "\\" + file
if "11x17" in file and "County" in file:
win32api.ShellExecute (
0,
"print",
file,
#
# If this is None, the default printer will
# be used anyway.
#
'/d:"%s"' % win32print.GetDefaultPrinter (),
".",
0
)
del files
del mypath
this will show all the properties for all your connected printers:
#Lists properties and capabilities for all the printers installed on a computer.
import win32com.client
strComputer = "."
objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2")
colItems = objSWbemServices.ExecQuery("Select * from Win32_PrinterConfiguration")
for objItem in colItems:
print "Bits Per Pel: ", objItem.BitsPerPel
print "Caption: ", objItem.Caption
print "Collate: ", objItem.Collate
print "Color: ", objItem.Color
print "Copies: ", objItem.Copies
print "Description: ", objItem.Description
print "Device Name: ", objItem.DeviceName
print "Display Flags: ", objItem.DisplayFlags
print "Display Frequency: ", objItem.DisplayFrequency
print "Dither Type: ", objItem.DitherType
print "Driver Version: ", objItem.DriverVersion
print "Duplex: ", objItem.Duplex
print "Form Name: ", objItem.FormName
print "Horizontal Resolution: ", objItem.HorizontalResolution
print "ICM Intent: ", objItem.ICMIntent
print "ICM Method: ", objItem.ICMMethod
print "Log Pixels: ", objItem.LogPixels
print "Media Type: ", objItem.MediaType
print "Name: ", objItem.Name
print "Orientation: ", objItem.Orientation
print "Paper Length: ", objItem.PaperLength
print "Paper Size: ", objItem.PaperSize
print "Paper Width: ", objItem.PaperWidth
print "Pels Height: ", objItem.PelsHeight
print "Pels Width: ", objItem.PelsWidth
print "Print Quality: ", objItem.PrintQuality
print "Scale: ", objItem.Scale
print "Setting ID: ", objItem.SettingID
print "Specification Version: ", objItem.SpecificationVersion
print "TT Option: ", objItem.TTOption
print "Vertical Resolution: ", objItem.VerticalResolution
print "X Resolution: ", objItem.XResolution
print "Y Resolution: ", objItem.YResolution
print "---------------------------------------------------"
Source: http://win32com.goermezer.de/content/view/145/189/