I haven’t tried to print a file from the network before but I don’t think it will work the way your doing it. the createPrintJob function is looking for a component. Your passing it a string which I’m sure is the location of the file you want to print but I doubt it will open the file from the string.
The easiest way I could see doing it is by using the PDF viewer. You could have it hidden on a screen or open a popup with it to load the PDF and print it, then close it again. Easiest I would think would be having the object hidden on the screen. Using the .loadPDFBytes function to put your PDF into the viewer, then use the .print function to print it. You would need to use the system.file.readFileAsBytes() function to turn your pdf into the bytes needed by the PDF viewer. If you set the showDialog in your .print call to false, I would assume that it will use the clients default printer.