Hello all,
I am a novice at Streamlit and this is my first post here.
I’ve created a simple app, which gives users results of calculations based on inputs. and I would like to give user an option to export a PDF of outputs which contains subheader, text and a dataframe.
I’ve seen a print to pdf option in built-in print menu, but it gives the whole page, including inputs and other widgets.
Is there an option to do this?
Here’s an example that generates a pdf and downloads it
import streamlit as st
def generate_pdf():
"""Generate an example pdf file and save it to example.pdf"""
from fpdf import FPDF
pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=12)
pdf.cell(200, 10, txt="Welcome to Streamlit!", ln=1, align="C")
pdf.output("example.pdf")
if st.button("Generate PDF"):
generate_pdf()
st.success("Generated example.pdf!")
with open("example.pdf", "rb") as f:
st.download_button("Download pdf", f, "example.pdf")