【问题标题】:Embed a PDF on a ASP.NET page在 ASP.NET 页面上嵌入 PDF
【发布时间】:2014-01-06 15:38:02
【问题描述】:

我正在尝试将 PDF 嵌入到我的页面中,但 PDF 无法加载。我检查了正确的文件路径。

当页面第一次加载时,我得到一个空白的灰色嵌入字段,但是当我点击嵌入时,我得到了这个(保持这样的状态):

<script>
    var selected_doc_ref = "";
    function getPDF() {

        //selected_doc_ref = "395";

        var DV_pdf_path = "../../../Document_Viewer/Risk_Assessment/RISK ASSESSMENT 1024.pdf";

        var pdf = document.getElementById("pdf");
        var clone = pdf.cloneNode(true);
        clone.setAttribute('src', DV_pdf_path);
        pdf.parentNode.replaceChild(clone, pdf)
    }
</script>


<body onload="getPDF()">

<embed id="pdf" style="border-radius: 10px;position: relative;top:0;right:0;left:0;bottom:0;width:100%;height:620px;"/>

任何想法我哪里出错了?

谢谢

【问题讨论】:

  • 您的浏览器是否安装了pdf阅读器插件? Adobe 的 acrobat 阅读器默认安装它
  • 是的,已安装 PDF 阅读器。我正在将此应用程序从静态 HTML 转换为 ASP.NET 应用程序。它适用于静态 HTML。上面添加的屏幕截图显示了我从 .NET 获得的内容
  • 啊,我认为您应该在开始时而不是在页面加载后从 标记中设置“src”属性。我想当您通过 javascript 更新它时,浏览器不会刷新已经呈现的 pdf 窗口。也许您可以以某种方式强制刷新。另一种可能性是动态添加整个 embed 标签,而不仅仅是设置它的 src 标签。这将导致它完全重新渲染它
  • 我明白你的意思,当 SRC 是静态的时它可以工作。有什么想法可以动态添加整个标签吗?谢谢

标签: asp.net pdf


【解决方案1】:

当您在页面加载后将src 属性添加到&lt;embed&gt; 标签时,浏览器不会刷新嵌入标签,您有两种选择:

  • 直接在&lt;embed&gt; 标记上设置src 属性,使其从一开始就可用。您可以通过代码或静态值设置src
  • 在您的 javascript 中,将整个 &lt;embed&gt; 标签添加到 getPDF() 函数中,而不仅仅是属性 src

    var e = document.createElement('embed');
    e.attributes['src'] = src;
    e.attributes['style'] = "border-radius: 10px;position: relative;top:0;right:0;left:0;bottom:0;width:100%;height:620px;";
    document.getElementById("pdfContainer").appendChild(e);
    

假设您有一个 id 为“pdfContainer”的元素,您想在其中放置 &lt;embed&gt; 标记。

【讨论】:

    猜你喜欢
    • 2011-03-11
    • 2020-09-24
    • 2014-11-26
    • 2019-02-14
    • 2019-05-13
    • 2011-04-15
    • 2015-03-24
    • 2017-09-14
    相关资源
    最近更新 更多