Embedding PDFs

I’m looking to embed PDFs as the result of a semantic search app. The following HTML should work:

<embed src="{path to file}" type="application/pdf" />

But it gives a 404 in the embed object (unsafe_allow_html = True). It appears Streamlit is blocking access to files in the html?

Is there an other way to do this?

(by the way, if this functionality is intentionally disabled for security purposes, I’d still like the ability to override and allow arbitrary HTML. My app lives in a private VPN and has a limited number of trusted users.)

1 Like

Hi @timforr,
thanks for posting. We don’t allow injecting HTML, right now. We are thinking about it, but we would like to do it in the right way. Feel free to open a feature request here. We will triage and add to the roadmap. Also, as you say, the functionality to embed the Pdf seems another really interesting feature request that may be easier security-wise.


I actually did file myself: https://github.com/streamlit/streamlit/issues/686 Feel free to add more details on github.

Thank you! I’m happy to hear you’re thinking about allowing HTML (and CSS and JS?) to be injected. JS may not be necessary if the framework simply allows backend Python functions to be called when e.g. an element with a certain id or class is clicked.

I really like the basic simple Streamlit experience, but a lot of us early adopters are “power users” who want to push the limits and make apps that don’t feel “lite” and can keep on being built on past the prototype stage.

1 Like