Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在能够运行javascript的网页上托管PDF内容?ASP.Net解决方案_Asp.net_Pdf - Fatal编程技术网

如何在能够运行javascript的网页上托管PDF内容?ASP.Net解决方案

如何在能够运行javascript的网页上托管PDF内容?ASP.Net解决方案,asp.net,pdf,Asp.net,Pdf,第一个问题,所以对我温柔一点,提前谢谢你的帮助 我将添加一些上下文来解释为什么我问这个问题,为什么我想做我想做的事情。容忍我,这一切都是值得的 我应该提到,这个应用程序不会被公众看到,我们的用户有一些限制(只使用IE 5.5之类的东西) 我有一个必须添加的现有web应用程序 当前,使用一些作为查询字符串传入的ID导航到aspx页面,并在页面加载中调用业务对象,传入页面的响应对象。该业务对象获取PDF字节内容(通过业务对象从sql server获取),并在头中设置必要的内容后,将PDF字节数据写入

第一个问题,所以对我温柔一点,提前谢谢你的帮助

我将添加一些上下文来解释为什么我问这个问题,为什么我想做我想做的事情。容忍我,这一切都是值得的

我应该提到,这个应用程序不会被公众看到,我们的用户有一些限制(只使用IE 5.5之类的东西)

我有一个必须添加的现有web应用程序

当前,使用一些作为查询字符串传入的ID导航到aspx页面,并在页面加载中调用业务对象,传入页面的响应对象。该业务对象获取PDF字节内容(通过业务对象从sql server获取),并在头中设置必要的内容后,将PDF字节数据写入响应对象。用户可以看到PDF文件,一切正常

然而,现在我们有一个要求,当页面被导航到应用程序时,将获得PDF字节数据,除了显示它之外,我们还将它发送到一个基于web客户端本地的专有系统(我们已经通过java applet在应用程序的工作流程中的其他点进行了此操作,并且可以正常工作)

问题是,当用户导航到“查看动态生成的pdf文档”页面时,我需要(取决于某些用户设置或其他)显示一个模式对话框,询问用户是否希望将pdf发送到此专有系统。为此,我需要能够运行客户端javascript来调用showModalDialog(使用showModalDialog很方便,因为我可以将所有java小程序调用内容和java小程序本身放在这一页上,该页显示为模式对话框)

问题是,我们目前显示PDF的方式不允许我们运行javascript,因为发送到客户端的只是一个包含大量PDF数据的页面,并标记为这样

到目前为止,我已经尝试了IFrames(是的,是的,我知道,来自Lucifer's fundament的流出物),src被动态设置为PDF显示页面的url加上页面需要的查询字符串。从某种意义上说,我得到了我的模态对话框,其中显示了很棒的内容,PDF显示(至少是某种东西)在页面顶部舒适的两英寸处,但不是很好:(

我也尝试过使用对象标记,但我甚至不知道从哪里开始将其排序为“runat=server”。当我尝试在客户端执行此操作时,我的java脚本中会出现需要对象的错误

所以我真正想要的是某种“容器”,我可以把它放在一个标准的aspx页面上,我可以用它来动态引用另一个页面,从中可以得到视口中的“全高”。IFrames看起来像那个家伙,但看起来有点……嗯……poo


哦,以防万一你没猜到:我的web开发经验不如WinForms。

请尝试以下内容:

>
请尝试以下方法:

>

这在某种意义上起作用了,我得到了我的模态对话框,其中显示了很棒的内容,并且PDF显示(至少是某种东西)在页面顶部舒适的两英寸处

然后给iframe一个更大的高度。如果你能猜出一个合理的像素大小,可以通过“height”属性,如果你想根据页面高度做一些事情,可以使用CSS:

<iframe src="pdfscript?id=123" style="position: absolute; top: 10%; left: 10%; width: 80%; height: 80%;"></iframe>

虽然您可以使用标签将PDF嵌入网页,但强烈建议不要这样做。至少使用iframe选项,如果您没有安装PDF插件,它会提示您作为文件下载;对象版本只会给您一个断开的插件图标,并可能提示您安装Acrobat插件

(而且你肯定不想安装Acrobat插件,因为目前所有的安全漏洞都将我们的桌面控制权交给了俄罗斯黑客。谢谢Adobe。)

这在某种意义上起作用了,我得到了我的模态对话框,其中显示了很棒的内容,并且PDF显示(至少是某种东西)在页面顶部舒适的两英寸处

然后给iframe一个更大的高度。如果你能猜出一个合理的像素大小,可以通过“height”属性,如果你想根据页面高度做一些事情,可以使用CSS:

<iframe src="pdfscript?id=123" style="position: absolute; top: 10%; left: 10%; width: 80%; height: 80%;"></iframe>

虽然您可以使用标签将PDF嵌入网页,但强烈建议不要这样做。至少使用iframe选项,如果您没有安装PDF插件,它会提示您作为文件下载;对象版本只会给您一个断开的插件图标,并可能提示您安装Acrobat插件


(而且你肯定不想安装Acrobat插件,因为目前所有的安全漏洞都将我们的桌面控制权交给了俄罗斯黑客。谢谢Adobe。)

一点提示:如果你发送的不是HTML,请使用“通用处理程序”(.ASHX)-你会发现这要容易得多..ASPX文件只适用于HTML。但我知道这并不能回答你的问题。一点提示:如果你发送的不是HTML,请使用“通用处理程序”(.ASHX)-你会发现这要容易得多..ASPX文件只适用于HTML。但我知道,这并不能回答你的问题。