@@ -809,9 +809,17 @@ def _setup_naming_formats(self):
809809
810810 def _setup_printers (self ):
811811 printers = list (Drawing .Printing .PrinterSettings .InstalledPrinters )
812+
813+ if IS_REVIT_2022_OR_NEWER :
814+ printers .insert (0 , "Revit Internal Printer" )
815+
812816 self .printers_cb .ItemsSource = printers
813- print_mgr = self ._get_printmanager ()
814- self .printers_cb .SelectedItem = print_mgr .PrinterName
817+
818+ if IS_REVIT_2022_OR_NEWER and "Revit Internal Printer" in printers :
819+ self .printers_cb .SelectedItem = "Revit Internal Printer"
820+ else :
821+ print_mgr = self ._get_printmanager ()
822+ self .printers_cb .SelectedItem = print_mgr .PrinterName
815823
816824 def _get_psetting_items (self , doc ,
817825 psettings = None , include_varsettings = False ):
@@ -1058,7 +1066,8 @@ def _print_sheets_in_order(self, target_sheets):
10581066 if not per_sheet_psettings :
10591067 print_mgr .PrintSetup .CurrentPrintSetting = \
10601068 self .selected_print_setting .print_settings
1061- print_mgr .SelectNewPrintDriver (self .selected_printer )
1069+ if not (IS_REVIT_2022_OR_NEWER and self .selected_printer == "Revit Internal Printer" ):
1070+ print_mgr .SelectNewPrintDriver (self .selected_printer )
10621071 print_mgr .PrintRange = DB .PrintRange .Current
10631072 except Exception as cpSetEx :
10641073 forms .alert (
@@ -1090,7 +1099,7 @@ def _print_sheets_in_order(self, target_sheets):
10901099 try :
10911100 pb1 .update_progress (pbCount1 , pbTotal1 )
10921101 pbCount1 += 1
1093- if IS_REVIT_2022_OR_NEWER :
1102+ if IS_REVIT_2022_OR_NEWER and self . selected_printer == "Revit Internal Printer" :
10941103 optspdf = PrintUtils .pdf_opts ()
10951104 PrintUtils .export_sheet_pdf (dirPath , sheet .revit_sheet , optspdf , doc , sheet .print_filename )
10961105 else :
@@ -1139,7 +1148,7 @@ def _print_sheets_in_order(self, target_sheets):
11391148 try :
11401149 pb1 .update_progress (pbCount1 , pbTotal1 )
11411150 pbCount1 += 1
1142- if IS_REVIT_2022_OR_NEWER :
1151+ if IS_REVIT_2022_OR_NEWER and self . selected_printer == "Revit Internal Printer" :
11431152 optspdf = PrintUtils .pdf_opts ()
11441153 PrintUtils .export_sheet_pdf (dirPath , sheet .revit_sheet , optspdf , doc , sheet .print_filename )
11451154 else :
@@ -1161,7 +1170,8 @@ def _print_linked_sheets_in_order(self, target_sheets, target_doc):
11611170 # make sure we can access the print config
11621171 print_mgr = self ._get_printmanager ()
11631172 print_mgr .PrintToFile = True
1164- print_mgr .SelectNewPrintDriver (self .selected_printer )
1173+ if not (IS_REVIT_2022_OR_NEWER and self .selected_printer == "Revit Internal Printer" ):
1174+ print_mgr .SelectNewPrintDriver (self .selected_printer )
11651175 print_mgr .PrintRange = DB .PrintRange .Current
11661176
11671177
@@ -1193,7 +1203,7 @@ def _print_linked_sheets_in_order(self, target_sheets, target_doc):
11931203 try :
11941204 pb1 .update_progress (pbCount1 , pbTotal1 )
11951205 pbCount1 += 1
1196- if IS_REVIT_2022_OR_NEWER :
1206+ if IS_REVIT_2022_OR_NEWER and self . selected_printer == "Revit Internal Printer" :
11971207 optspdf = PrintUtils .pdf_opts ()
11981208 PrintUtils .export_sheet_pdf (dirPath , sheet .revit_sheet , optspdf , doc , sheet .print_filename )
11991209 else :
@@ -1476,6 +1486,10 @@ def sheetlist_changed(self, sender, args):
14761486
14771487 def printers_changed (self , sender , args ):
14781488 print_mgr = self ._get_printmanager ()
1489+
1490+ if self .selected_printer == "Revit Internal Printer" :
1491+ return
1492+
14791493 print_mgr .SelectNewPrintDriver (self .selected_printer )
14801494 self ._setup_print_settings ()
14811495
0 commit comments