By default Airprint/Bonjour doesn't work across subnets.
If using Unifi APs verify that you're not blocking LAN/WLAN multicast/broadcast data (it's in the settings of the SSID).
For EdgeRouters configure the MDNS repeater service on each interface/VLAN that the MDNS/Airprint will be used on (this would be the subnet of the Airprint printer itself plus any other subnets that need to print using air print).
https://community.ui.com/questions/AirPrint-across-VLAN/a40ae7e8-5028-4f6f-9e87-8bb34965f248#answer/899d7f89-e7cf-49f0-9412-92bad7bbd35e
Configure MDNS repeater on 2 or more interfaces
set service mdns repeater interface eth1
set service mdns repeater interface eth2
If you are using zone based firewalls or have a firewall restricting access to the LOCAL zone you'll need to add MDNS exceptions. The example below is assuming a zone based firewall. You'll need to do this for each zone that needs to use MDNS. Also, if you're filtering the LOCAL zones outbound traffic then you need to add exceptions in the other direction as well.
set firewall name Office_LAN_to_LOCAL rule 1200 description "Allow Bonjour"
set firewall name Office_LAN_to_LOCAL rule 1200 action accept
set firewall name Office_LAN_to_LOCAL rule 1200 destination port 5353
set firewall name Office_LAN_to_LOCAL rule 1200 protocol udp
set firewall name Office_LAN_to_LOCAL rule 1200 state new enable
set firewall name Office_LAN_to_LOCAL rule 1200 log enable
set firewall name Office_WLAN_to_LOCAL rule 1200 description "Allow Bonjour"
set firewall name Office_WLAN_to_LOCAL rule 1200 action accept
set firewall name Office_WLAN_to_LOCAL rule 1200 destination port 5353
set firewall name Office_WLAN_to_LOCAL rule 1200 protocol udp
set firewall name Office_WLAN_to_LOCAL rule 1200 state new enable
set firewall name Office_WLAN_to_LOCAL rule 1200 log enable