Showing
2 changed files
with
15 additions
and
2 deletions
@@ -119,6 +119,9 @@ public class PrintJob: NSView, NSSharingServicePickerDelegate { | @@ -119,6 +119,9 @@ public class PrintJob: NSView, NSSharingServicePickerDelegate { | ||
119 | 119 | ||
120 | for name in NSPrinter.printerNames { | 120 | for name in NSPrinter.printerNames { |
121 | let printer = NSPrinter(name: name) | 121 | let printer = NSPrinter(name: name) |
122 | + if printer == nil { | ||
123 | + continue | ||
124 | + } | ||
122 | let pr: NSDictionary = [ | 125 | let pr: NSDictionary = [ |
123 | "url": name, | 126 | "url": name, |
124 | "name": name, | 127 | "name": name, |
@@ -143,12 +146,21 @@ public class PrintJob: NSView, NSSharingServicePickerDelegate { | @@ -143,12 +146,21 @@ public class PrintJob: NSView, NSSharingServicePickerDelegate { | ||
143 | printInfo.orientation = NSPrintInfo.PaperOrientation.landscape | 146 | printInfo.orientation = NSPrintInfo.PaperOrientation.landscape |
144 | } | 147 | } |
145 | 148 | ||
146 | - // Print the custom view | 149 | + // A printer is specified |
150 | + if printer != nil { | ||
151 | + let pr = NSPrinter(name: printer!) | ||
152 | + if pr == nil { | ||
153 | + printing.onCompleted(printJob: self, completed: false, error: "Unable to find the printer") | ||
154 | + return | ||
155 | + } | ||
156 | + printInfo.printer = pr! | ||
157 | + } | ||
158 | + | ||
159 | + // The custom print view | ||
147 | printOperation = NSPrintOperation(view: self, printInfo: printInfo) | 160 | printOperation = NSPrintOperation(view: self, printInfo: printInfo) |
148 | printOperation!.jobTitle = name | 161 | printOperation!.jobTitle = name |
149 | printOperation!.printPanel.options = [.showsPreview] | 162 | printOperation!.printPanel.options = [.showsPreview] |
150 | if printer != nil { | 163 | if printer != nil { |
151 | - printInfo.printer = NSPrinter(name: printer!)! | ||
152 | printOperation!.showsPrintPanel = false | 164 | printOperation!.showsPrintPanel = false |
153 | printOperation!.showsProgressPanel = false | 165 | printOperation!.showsProgressPanel = false |
154 | } | 166 | } |
-
Please register or login to post a comment