Python html.Embed或html.Iframe未在plotly DASH应用程序中呈现本地pdf
我试图在DASH应用程序中显示从本地路径读取的pdf。我尝试使用嵌入和Iframe。但是,它们都没有显示pdf。而且,没有错误,只是空白。下面是代码片段Python html.Embed或html.Iframe未在plotly DASH应用程序中呈现本地pdf,python,html,pdf,plotly-dash,Python,Html,Pdf,Plotly Dash,我试图在DASH应用程序中显示从本地路径读取的pdf。我尝试使用嵌入和Iframe。但是,它们都没有显示pdf。而且,没有错误,只是空白。下面是代码片段 import dash_core_components as dcc import dash_html_components as html from dash.dependencies import Input, Output import PyPDF2 import docx2txt from jupyter_dash import Ju
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import PyPDF2
import docx2txt
from jupyter_dash import JupyterDash
#external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = JupyterDash(__name__)
app.layout = html.Div([
html.Button('Submit',id='submit'),
html.Embed(src="<path to .pdf>",width="750",height="400",type="application/pdf"),
html.Div(id='my-div')
])
@app.callback(
Output(component_id='my-div', component_property='children'),
[Input(component_id='submit', component_property='n_clicks')]
)
def update_output_div(n_clicks):
if n_clicks:
my_text = docx2txt.process("<path to .doc>")
return 'You\'ve entered "{}"'.format(my_text)
app.run_server("inline",port=8060)
将仪表板核心组件作为dcc导入
将dash_html_组件导入为html
从dash.dependencies导入输入,输出
导入PyPDF2
导入docx2txt
从jupyter_dash导入JupyterDash
#外部_样式表=['https://codepen.io/chriddyp/pen/bWLwgP.css']
app=JupyterDash(名称)
app.layout=html.Div([
按钮('Submit',id='Submit'),
html.Embed(src=”“,width=“750”,height=“400”,type=“application/pdf”),
html.Div(id='my-Div')
])
@app.callback(
输出(组件id='my-div',组件属性='children'),
[输入(组件\u id='submit',组件\u属性='n\u单击')]
)
def更新输出分区(n次单击):
如果n_单击:
my_text=docx2txt.process(“”)
返回“您已输入“{}”。格式(我的文本)
app.run_服务器(“内联”,端口=8060)
我添加了一个提交按钮并读取word文件,以确保应用程序本身工作正常
我正在用Chrome的Jupyter运行下面的程序
如果我显示在线pdf或网站url,效果很好
有什么建议吗
提前谢谢。我想现在帮你已经太迟了,但可能会帮助其他同样被困在这里的人。 我从这篇文章中得到的对我有用的方法: 我可能弄错了,但似乎相关的是,要送达的文件在资产文件夹中。当使用其他位置时,它会为我将原始应用嵌套在iFrame中。 我使用的元素就是这个。
html.Iframe(src=os.path.join(“资产”,“pdf\u name.pdf”))
我偶然发现了这个问题,因为我在显示的不同PDF之间切换时遇到问题。
希望这有助于未来的寻求答案者。我想这对你来说太晚了,但可能会帮助其他同样被困在这里的人。 我从这篇文章中得到的对我有用的方法: 我可能弄错了,但似乎相关的是,要送达的文件在资产文件夹中。当使用其他位置时,它会为我将原始应用嵌套在iFrame中。 我使用的元素就是这个。
html.Iframe(src=os.path.join(“资产”,“pdf\u name.pdf”))
我偶然发现了这个问题,因为我在显示的不同PDF之间切换时遇到问题。
希望这有助于未来的答案寻求者