Direct Print consists of three ways of sending print jobs directly to a printer in Business Central. They are named Server Print, Service Print, and Client Print.
Server Print
Server Print is only supported in on-premise environments. Here, the Business Central service tier communicates directly with the printer. This requires that the printer is connected directly to the service-tier machine or that it can be reached via the network. From an infrastructure perspective, this all happens on a LAN/WAN, which also explains why it only works for on-premise installations of Business Central.
The security, in this case, is normal Windows security where the user running the service-tier process must have access to the network printers.
Service Print
For Business Central on-premise and cloud, you can use Service Print. In Business Central, you can set up a direct printer to use the print service. When Service Print is selected, the print job is placed in a print queue in Business Central. This means that the print job is stored in a table in the Business Central database. It is not sent to an external service. When a print job is ready in the print queue, it is picked up by a Windows service running on a PC or server on the LAN/WAN. The service communicates with the print queue in Business Central using an OData API via HTTPS.
In addition to the communication between the print queue in Business Central and the local Windows service, there is an online signaling mechanism. When Business Central has a job ready in the print queue, it signals the local service. There is no job information in the signaling. An outgoing HTTPS call is made from Business Central to send the signal, and an outgoing HTTPS call is made from the Windows service to pick up the signal. The purpose of the signaling is to improve performance and reduce load on Business Central. It is not vital to the operation of Direct Print. Printing will work without the signaling if necessary.
The Direct Print service runs locally on your LAN/WAN and can connect to your printers and print the jobs from the queue. It runs as a Windows user, which must have permission to access the printers.
Connections: Business Central has outgoing HTTPS on port 443 and incoming HTTPS OData API connections on the port specified in the service-tier configuration. The Direct Print Windows service has outgoing HTTPS on port 443. Printers must be accessible to the Windows service.
Client Print
When the users print in Business Central to a direct printer using Client Print, then the web client automatically downloads a file with the print job. The downloaded file has the file name extension fornavprint. A small Windows program is installed on the user’s PC and associated with the fornavprint filename extension. Most browsers can be configured to open these files automatically, and the file extension association will make the ForNAV program open this file. The downloaded file contains the document and some extra information about which printer to send it to, together with paper, tray, zoom, and other settings.
The infrastructure in this scenario is simple because it just requires the browser to access Business Central and that the PC is running Windows x86 or x64 (ARM is not supported).
Connections: Downloads happen through the normal Business Central browser client. Printers must be accessible to the local PC.
Summary
We recommend Service Print for office or production environments. The Windows service is installed on one machine per location.
Client Print is especially useful when users work from home or in a mobile office where the printers can be seen from local workstations but not from a central service.
The Server Print option is mostly a legacy option. Nevertheless, it is fast, requires little setup, and prints using Windows GDI. Using Windows GDI is sometimes needed to access features in older printer drivers.