Determining printer options (Python)

Determining printer options (Python)
 1# This example shows how to determine the default document properties
 2# of a printer.
 3
 4# The IPrintOptions returned by the ICreator.print_options()
 5# function contains the document properties of the default windows printer.
 6
 7# Setting the IPrintOptions.printer_name property loads the default document
 8# properties for that printer.
 9
10# Create a local variable for the output toolbox
11ot = impact.gui.output_toolbox
12
13# Clear the output toolbox
14
15def DescribePrintOptions(opts):
16    impact.gui.output_toolbox.add("Printer: " + opts.printer_name)
17    impact.gui.output_toolbox.add("ShowDialog: " + str(opts.show_dialog))
18    impact.gui.output_toolbox.add("Copies: " + str(opts.number_of_copies))
19    impact.gui.output_toolbox.add("Orientation: " + str(opts.orientation))
20    impact.gui.output_toolbox.add("OneToOneScale: " + str(opts.one_to_one_scale))
21    impact.gui.output_toolbox.add("Colour: " + str(opts.colour))
22    impact.gui.output_toolbox.add("Source: " + str(opts.source))
23    impact.gui.output_toolbox.add("IgnoreLineWeights: " + str(opts.ignore_line_weights))
24    impact.gui.output_toolbox.add("IncreaseLineWeightsBy: " + str(opts.increase_line_weights_by))
25    if opts.report_settings.isNone():
26        impact.gui.output_toolbox.add("ReportSettings: <None>")
27    else:
28        impact.gui.output_toolbox.add("ReportSettings: " + opts.report_settings.full_name)
29    if opts.graphic_settings.isNone():
30        impact.gui.output_toolbox.add("GraphicSettings: <None>")
31    else:
32        impact.gui.output_toolbox.add("GraphicSettings: " + opts.graphic_settings.full_name)
33    impact.gui.output_toolbox.add("PaperSize: " + str(opts.paper_size))
34    if opts.paper_size == ipPaperSize.psCustom:
35        impact.gui.output_toolbox.add("PaperLength: " + str(opts.paper_length))
36        impact.gui.output_toolbox.add("PaperWidth: " + str(opts.paper_width))
37    impact.gui.output_toolbox.add("PaperSource: " + str(opts.paper_source))
38    impact.gui.output_toolbox.add("Duplexing: " + str(opts.paper_duplex))
39
40drawing = impact.active_drawing
41
42if not drawing.isNone():
43    options = impact.creator.print_options()
44
45    ot.add("===== Default Printer Options =====")
46    DescribePrintOptions(options)
47
48    ot.add("===== Specific Printer Options =====")
49    options.printer_name = "\\SCREAMER\\Canon S820"
50    DescribePrintOptions(options)
51
52else:
53    ot.add("No impact.active_drawing")
54
55ot.clear()