Printing from Linux/Unix server program to any Windows client printer

In this video, we see how to print from a Linux/Unix server program to any Windows Client printer.

You can capture your host print jobs in several ways, depending on which software/services are installed on the host itself and/or which method the SysAdmin prefer.

Some common cases:

  1. If NFS, Samba, SCO-VisionFS or any other SMB software is installed on the host machine, then you can share a directory on the server with the Windows clients. The host needs to be configured to forward its print jobs to a file on this shared directory instead of to the standard queue.

    For example:
    • /usr/share/printfil - is made available to the Windows network, so a Windows machine can see it as \\uxsrv\printfil
    • Printfil on the Windows client is configured to look for the \\uxsrv\printfil\user1.txt file (by the File to check field at Configuration -> Standard)
    • Your source app. on the server outputs the jobs to the /usr/share/printfil/$LOGNAME.txt file (let's say LOGNAME=user1)
    • As soon as the host machine has finished printing, Printfil automatically picks up the file and send it to the chosen Windows printer and/or converts/e-mail it as a PDF file.

  2. There is no shared filesystem between the server and Windows, but you can issue ftp commands. The host still needs to be configured to forward its print jobs to a file.
    • After generating the print job, the file can be sent from the host to the Windows machine via ftp

  3. There is no shared filesystems and no ftp, but you access your host program from the Windows machine by using a terminal emulator software.
    • You can capture the print output by your terminal emulator software (probably it's already doing so, by using a technique known as "Transparent Printing" to print at the client side)
    • If the emulator can forward the print jobs to a file (locally), then you can setup Printfil to capture that file directly (by the File to check field at Configuration -> Standard)
    • If the emulator prints to LPT1: , you can configure Printfil to capture that port
    • If it prints to a Windows printer, you can configure it to print to the "Printfil" virtual printer.
      In this case, the Printfil virtual printer's driver has to be manually changed from the default driver used by Printfil to the "Generic/Text Only" one

In the video on this page, we used the 1st method above.

Ok, let's go:

  • Open a Linux terminal session
  • Run a printer configuration program
  • /usr/share/printfil is shared as \\VRH9\printfil with the Windows clients
  • So, let's make Printfil capturing the Linux file of that user by the File to check field at Configuration -> Standard

That's all. Now:

  • Run the Test Printer function
  • Printfil captures the Linux print job and you can print it to any Windows printer

If you've questions, you can comment the Facebook video or the YouTube one in this page, or you can contact us at

Other articles and videos about DOS printing in Windows

Download PrintFil
Print from DOS to USB printer now! Download free PrintFil trial!

Facebook ★★★★☆ (4.9/5) on 41 reviews

Facebook Youtube Instagram