首页 > 解决方案 > 在模式窗口中显示 pdf 而不是下载文件或在新选项卡中显示

问题描述

我正在创建一个 dash-plotly 应用程序,其中包含一个带有 xtick 的条形图,并超链接到一个 pdf 文件。我想在弹出窗口中显示 pdf 文件,而不是下载它或在新选项卡中显示它。我怎样才能做到这一点?

破折号代码:

x_var = [f"<a href='https://xx/xx.pdf' class='show-pdf' target='_blank'>{rule}</a>" for rule in df_temp.index]
data.append(go.Bar(x=x_var, y=df_temp.values, name=cat, marker={'color':'#d0384d'}, visible = visible))

html (svg):

<g class="xtick">
<text text-anchor="start" x="0" y="293" data-unformatted="<a href='https://xx/xx.pdf' class='show-pdf'>CheckAttributeConflict</a>" data-math="N" transform="translate(391.57,0) rotate(30,0,287)" style="font-family: &quot;Open Sans&quot;, verdana, arial, sans-serif; font-size: 12px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; pointer-events: all;"><a xlink:show="new" target="_blank" xlink:href="https://xx/xx.pdf" style="cursor:pointer">CheckAttributeConflict</a></text></g>
<a xlink:show="new" target="_blank" xlink:href="https://xx/xx.pdf" style="cursor:pointer">CheckAttributeConflict</a>
</text>
</g>

标签: jqueryhtml

解决方案


很抱歉,您无法真正控制这种行为。您或您的访问者的浏览器处于控制之中。这将根据每个浏览器和每个用户的偏好而有所不同。这就是您在 Firefox 中设置行为的方式。在其他浏览器中也是如此。

  1. 单击菜单按钮并选择选项。
  2. 选择左侧的应用程序面板。
  3. 找到“可移植文档格式 (PDF)”的设置

此外,如果您有 PDF 阅读器,浏览器是否会保存或尝试在阅读器中打开它会有所不同。许多当前/现代浏览器版本都配备了内置的 PDF 阅读器。

如果您可以选择使用 .pdf 以外的其他格式,例如 .svg 或 .jpg - 这可以在 HTML 中内联显示,因此可以放入模式窗口中。


推荐阅读