Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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 IE不会渲染PDF blob_Javascript_Html_Asp Classic - Fatal编程技术网

Javascript IE不会渲染PDF blob

Javascript IE不会渲染PDF blob,javascript,html,asp-classic,Javascript,Html,Asp Classic,好的,我有一个生成PDF的网页。到目前为止,创建PDF的代码是坚如磐石的-但是我在显示创建的PDF时遇到了麻烦 我已经在Chrome上获得了坚如磐石的显示代码——但是我根本无法让IE工作。我需要一种在Javascript中生成PDF并使用IE显示的方法 这里的关键问题是我在客户端生成PDF,这意味着没有服务器端URL来加载PDF。这要求我使用blob或dataurl,IE由于某些奇怪的原因不会呈现这两种。据我所知,这是设计的,但他们没有提供任何工作,我可以找到 该项目要求在后台加载PDF文件,并

好的,我有一个生成PDF的网页。到目前为止,创建PDF的代码是坚如磐石的-但是我在显示创建的PDF时遇到了麻烦

我已经在Chrome上获得了坚如磐石的显示代码——但是我根本无法让IE工作。我需要一种在Javascript中生成PDF并使用IE显示的方法

这里的关键问题是我在客户端生成PDF,这意味着没有服务器端URL来加载PDF。这要求我使用blob或dataurl,IE由于某些奇怪的原因不会呈现这两种。据我所知,这是设计的,但他们没有提供任何工作,我可以找到

该项目要求在后台加载PDF文件,并在显示后仅弹出打印对话框(我不能简单地将文件保存到客户端计算机)。正在打印的数据也非常专门地定位在它们所打印的表单上,这意味着我不能将PDF呈现到画布中,而只打印画布元素,因为这会在页面上放置一个带有URL和页码的额外页边距


以下是我的问题:

  • 对于IE这个问题有什么解决方法吗?我在过去使用过PdfObject,但是IE中的blob和dataURL仍然存在同样的问题

  • 此网站的后端是经典ASP(它正在.Net中重做,但最早要到下一个时间才会可用)-是否可以将blob的二进制数据上载到ASP页面,将其存储在会话中,然后将iframe定向到返回该会话变量内容的页面?这将绕过这个斑点,但我担心这是一个有点雄心勃勃的任务


  • 在没有服务器或插件的情况下,您无法在移动中生成PDF文件,然后显示它

    如果尝试使用数据URI显示它:

    仅以下元素和/或属性支持数据URI

    • 对象(仅限图像)
    • img
    • 输入类型=图像
    • 链接 -接受URL的CSS声明,如背景、背景图像等

    不能将其用作框架的URL

    如果您尝试使用Blob显示它:

    创建的Blob可用于图像、视频、音频、XMLHttpRequest、css backgroundImage和css字体等元素中的资源

    还是没有


    您可以做的是将PDF转换为HTML5或画布。有些库已经可以为您处理该部件,例如。不确定您提到的“额外页边距”,但在打印之前,可以在客户端更改和关闭页面URL和页码,甚至页边距


    我一直使用经典ASP从“服务器端”生成PDF,然后将其流式传输到客户端。我认为即使在IE11中,你也会很难使用它,因为它只是“部分支持”。我也同意,我不想现在就用ASP>重写所有这些绘图代码。是的,我感觉到了你的痛苦。最终还是采用了ASP路线-不过我给了@Derek答案朕會功夫 因为它很好地回答了javascript问题。是的,我想我同意你对服务器的需求。然而,就打印而言,我认为我误用了额外的“边距”——我的意思是浏览器在那里放置的额外数据,不管发生什么。大多数人都会用PDF来解决这个问题,但是我们现在回到我的问题上来了,哈哈。请看下面的问题:我会将此标记为答案,但我最终决定将绘图代码移植到ASP(这并不太糟糕,因为ASP可以运行Javascript)-对于这种情况下可能正在使用jsPDF库的任何其他人:您可以使用ASP FPDF非常轻松地将其移植到ASP页面,因为它的API几乎相同(除了命名约定是大写而不是camelCase之外)