The standard APIs that most objects use to print depend on registry entries located in HKEY_CURRENT_USER. ASP pages run under IIS, which is running as the SYSTEM account, by default COM objects in your ASP code also run as the SYSTEM account. The SYSTEM account does not have any printers set up in the registry.
To use a printer you must set it up to work from the SYSTEM account. This requires you to modify the registry using the Registry Editor.
For more information and how to add printers to the SYSTEM account see the Microsoft Support article COM objects fail to print when called from ASP.