Determining printer options

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