I assume you're using home routers with NAT, which is the most common case. This means that to outside world, all computers in the LAN (including printer) share IP address of the router.
I'll call the network without the printer A an the other one B.
If the two networks really are not connected by other means, in order to expose the router from one to other, you'll need to expose it to the Internet. In TCP/IP context, that means one more opened port (what your printing protocol is using) on one public IP address (that of router B). Obviously this is a potential security risk, so the least you'll need to do is to set up firewall on router B to limit access to this port to certain single IP address: that of router A.
Regarding the exposing, you can either set up port forwarding in the NAT so that users from network A will connect to the printer directly using the router B's public IP address, or, if your it has that option, set up router B as a printing server, which could help with additional security.
This is probably the simplest solution. Other, probably more secure solutions include using SSH tunnel (insttead of port forwarding) or a VPN to connect the whole networks tohether.
Note that "block the internet flowing" is a different question, which IIUC can be achieved by setting up firewall on router A to talk only to router B.