当我在网上显示PDF文件时,我想在新标签页中打开它。 但是没有单击只在新选项卡中打开文件的功能。 这是我的显示功能:
private void DisplayPage()
{
string path = CanvasWritingStepImages._pdfName;
WebClient client = new WebClient();
Byte[] buffer = client.DownloadData(path);
if (buffer != null)
{
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=Formulike.pdf");
Response.AddHeader("content-length", buffer.Length.ToString());
Response.BinaryWrite(buffer);
}
else
{
logger.Error("Buffer was Null!");
throw new Exception("PDF ERROR");
}
}
我正在使用“iTextSharp”来处理PDF文件。 重要的是PDF文件将在新选项卡上打开,而不会仅通过该功能单击。 我刚发现按钮点击打开一个新标签。
我试过这个: How to open PDF file in a new tab or window instead of downloading it (using asp.net)?
答案 0 :(得分:0)
我有一个非常相似的问题...请参阅我的问题here。
将您的pdf创建代码放在新页面的form load
事件中。然后使用下面的代码在新标签页中打开该页面。
string url = "myPDFpage.aspx";
string openWindowScript = string.Format("window.open({0}, '_blank');", url);
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Guid.NewGuid().ToString(), openWindowScript, true);
如果您没有使用ScriptManager
,则可以使用以下内容替换最后一行:
Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), openWindowScript, true);
如果您的pdf需要创建变量,请将它们传递给查询字符串或将它们存储在会话变量中,以便新页面可以访问它们。
新的标签/窗口将被屏蔽,除非用户允许您的网站弹出窗口或关闭其阻止程序。