在新窗口中打开PDF文件?

时间:2011-08-15 22:18:53

标签: c# asp.net

嗨,我陷入了下一种情况,我需要打开一个pdf文件,我先上传到服务器。我尝试过以下代码:

string Servidor = Request.Url.GetLeftPart(UriPartial.Authority);
var fullUrl  = Servidor + Session["strUrl"];

var NewProcess = new System.Diagnostics.Process();
NewProcess.StartInfo.FileName = fullUrl;
NewProcess.Start();

当我在localhost时,此代码工作正常,但是当我部署我的Web应用程序时,它不起作用。有没有其他解决方案来实现这一目标?

3 个答案:

答案 0 :(得分:2)

在生成的html中,您需要在带有窗口名称的“a”标记上使用“target”属性,或者通常使用“_blank”来打开新窗口

e.g。

<a href="document.pdf" target="_blank">Open document in a new window</a>

或纯粹的asp.net

<asp:HyperLink id="hyperlink1" NavigateUrl="document.pdf" Target="_blank" Text="Open document in a new window"  runat="server"/>  

答案 1 :(得分:1)

您无法通过在远程服务器上启动新进程来打开PDF。您必须在服务器上托管的网页上创建一个链接,该链接指向您要打开的pdf(也应该在Web服务器上托管)。

<a href="file.pdf">Open</a>

答案 2 :(得分:0)

使用此代码。这就像一个冠军。

Process process = new Process();
process.StartInfo.UseShellExecute = true;
process.StartInfo.FileName = outputPdfFile;
process.Start();