I suggest delivering your report as a PDF file to the user. This then acts as a "print preview", and they can then print it if they want to.
To "call a report" with parameters, direct the user to a specially crafted URL that will request the report.
If your report file name is myreport, your Oracle Reports service name is webreport1 and it runs on the server named web.example.com, and the report service is accessible on secure port 443, and your parameters are named p_param1 and p_param2, and your parameter values are val1 and val2, your URL might look light this:
The above example specifically requests the report in PDF format, but there are other formats to choose from.
The parameters listed in the URL will populate any user parameters in your report that are named the same.
Case is not important in parameter names -- sending parameters in lowercase will match uppercase parameters.
Null values are denoted by listing the parameter but just not giving a value, like "p_param1="
Finally, it important to note that the login parameter should be sent URL encoded, as in "%75%73%65%72%69%64%3D" equates to "userid=", etc. -- not terrific security, since it's reversible, but better than no security. People looking over the user's shoulder aren't likely to be able to visually decode the username and password in the URL if it's like that. I think it really helps to use a secure port for your Oracle Reports web delivery too, as I have in my example.
PS: You didn't mention the environment from which you would be wanting to "call a report". So I have assumed a html page environment, since calling it from Oracle Forms is a little more tricky and I didn't want to confuse the answer with unnecessary detail.