Is there an elegant way to send query results directly to a physical printer?
Execute the query using POWERSHELL and OUT-PRINTER

Invoke-Sqlcmd -Query "SELECT GETDATE() AS TimeOfQuery;" -ServerInstance .   | Out-Printer



  The Out-Printer cmdlet sends output to the default printer or to an
  alternate printer, if one is specified.