I have a solution in place for my site that renders a requested PDF document in a full page using the code below. Now my client wants the document rendered within an iframe
I actually solved this! The solution was to generate another aspx page (showpdf.aspx) with the code that renders the PDF (the meat of it being the Response... code), then call that code in the iframe. I pass the necessary variable from the source page. Thanks all!
<iframe runat="server" id="iframepdf" height="600" width="800" >
</iframe>
protected void Page_Load(object sender, EventArgs e)
{
String encounterID = Request.QueryString["EncounterID"];
iframepdf.Attributes.Add("src", "showpdf.aspx?EncounterID=" + Request.QueryString["EncounterID"]);
}
You need to set the src=""
to a different URL that serves a PDF.
Use an ASHX handler. The source code to your getmypdf.ashx.cs handler should look something like this:
using System;
using System.Web;
public class getmypdf : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
Response.ContentType = "Application/pdf";
Response.WriteFile("myfile.pdf");
Response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
}
getmypdf.ashx would contain something like this:
<% @ webhandler language="C#" class="getmypdf" %>
And your iframe would look like this:
<iframe runat="server" id="iframepdf" height="600" width="800" src="..../getmypdf.ashx"> </iframe>
Did you try:
window.onload = function() {
document.getElementById("iframepdf").src = "the URL that loads the PDF"
}