Hi T Ken
I'll shoot straight with you: if you have absolutely zero control over the client PCs (meaning you can't install local services or modify browser shortcuts), 100% silent, automatic printing from a web page is functionally impossible today.
Modern browsers like Chrome strictly sandbox the print spooler. They view silent printing as a massive security vulnerability (to prevent malicious websites from instantly draining your ink and paper). ActiveX was basically a sanctioned backdoor that bypassed this security, which is exactly why it was killed off.
Since we cannot force Chrome to bypass its own security protocols without touching the client machine, here are your only two realistic paths forward:
1. The "One-Click" Compromise (Hidden iFrame)
Instead of full automation, you streamline the process as much as browser security allows. You use JavaScript to load the generated PDF into a hidden <iframe> and automatically trigger iframe.contentWindow.print().
The reality: The Chrome print preview dialog will pop up on the screen. The user simply has to press "Enter" or click "Print" to confirm. It adds one manual keystroke to their workflow, but it requires zero client-side configuration.
2. Server-to-Printer Direct Routing
You mentioned the VB.NET app generates the PDF on a network share. Are the physical printers on the same corporate network/VPN as that server? If so, you take the client PC completely out of the printing equation. The browser makes the AJAX call, the server generates the PDF, and then the server immediately sends the print job directly to the target printer's IP address or network queue. The browser never touches the print job.
Would your users accept having to press "Enter" on a print dialog to use the first option, or are the printers accessible enough by the server to make the second option work? Let me know which direction sounds more viable for your environment!
Tracy.