Open in client side


My app runs in a server using task scheduler to open the streamlit server.

One of the functionalities is to generate a pdf file that is store in the working directory of the app in the server and a new browser window pops up to print the pdf.
Everytime the function is called a new pdf overwrites the previous one.

My issue is when i provided a link to the app in client side to my users, when they generate that pdf it open in the server browser.

Is there a way to open that pdf browser window in client side?

Hi @kiko249, you don’t have to save and overwrite the pdf every time. Just generate the pdf in memory and provide a download button for the pdf. The user can download and print if/as required.


I thought about download button but it is not viable, because this is some production product labels,
and it’s not pratical or productive for users to download and print

I tried and managed to display the pdf in an iframe using ssh, but ran into another issue that is if i try to open pdf (opens in browser window) it opens in server where the app lives and not in client window that is in another server

Any other suggestions or workarounds?

after some research, i think i might have to use javascript to achieve this but i don’t know how to do it

Hi - when running streamlit on a remote server it should be done using headless mode. See: Configuration - Streamlit Docs.