将PDF流式传输到浏览器并使用Adobe PDF参数,例如#search,#zoom,#page

时间:2011-12-20 16:22:12

标签: pdf stream

这个杀了我!在ASP Classic中我试图为用户提供一个pdf文件,到目前为止我已经得到了以下代码:

Response.Buffer = False
'This is download
Response.ContentType = ContentTypeFromFile(DownloadFileName)
'Set file name
Response.AddHeader "Content-Disposition", "inline; filename=myfile.pdf#search=fox"
Response.binarywrite "c:/myfile.pdf"

然而它不起作用了?当我运行它时#和更改为_会导致文件下载中断。

我在这里发现了同样的问题,但它是在3年前,我已经尝试做了接受的答案而没有取得任何成功。

任何人都可以帮助我吗?

链接到旧问题:https://stackoverflow.com/search?q=open+pdf+with+search

1 个答案:

答案 0 :(得分:1)

好的,最后我把这个拿出来了!在另一个问题中给出的答案是实际的答案,然而理解它是棘手的部分!

在您的信息页中包含此代码:

<%
response.Clear

Response.Buffer = False
'This is download
Response.ContentType = "application/pdf"
'Set file name
Response.AddHeader "Content-Disposition", "inline; filename=myfile.pdf"

set stream = Server.CreateObject("ADODB.Stream")
stream.Open
stream.Type = 1 ' binary
stream.LoadFromFile("c:\test.pdf")

Response.BinaryWrite(stream.Read)

Response.End()
%>

然后通过网址将参数传递给adobe reader!因此,如果上面的代码位于名为:default.asp

的页面中

然后执行此操作:http://www.yoururl.com/default.asp#search=fox&zoom=20&page=2

这将是一种享受!不在谷歌Chrome中介意你!我用谷歌搜索有关使用chrome工作的这类东西,但google没有将参数编码到他们的pdf查看器中。