Spaces:
Sleeping
Sleeping
import streamlit as st | |
from fpdf import FPDF | |
import tempfile | |
if 'qa_pairs' not in st.session_state: | |
st.session_state.qa_pairs = [] | |
def generate_pdf(qa_pairs): | |
pdf = FPDF() | |
pdf.add_page() | |
pdf.set_font("Arial", size=12) | |
for qa in qa_pairs: | |
pdf.multi_cell(0, 10, f"Q: {qa['question']}") | |
pdf.multi_cell(0, 10, f"A: {qa['answer']}") | |
pdf.ln() | |
temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".pdf") | |
pdf.output(temp_file.name) | |
return temp_file.name | |
st.title("Q&A Input Tool") | |
question = st.text_input("Enter a question:") | |
answer = st.text_area("Enter the answer:") | |
if st.button("Add Question & Answer"): | |
if question and answer: | |
st.session_state.qa_pairs.append({"question": question, "answer": answer}) | |
st.success("Q&A added successfully!") | |
else: | |
st.error("Please enter both a question and an answer.") | |
if st.session_state.qa_pairs: | |
pdf_file_path = generate_pdf(st.session_state.qa_pairs) | |
with open(pdf_file_path, "rb") as pdf_file: | |
st.download_button( | |
label="Download PDF", | |
data=pdf_file, | |
file_name="QandA.pdf", | |
mime="application/pdf" | |
) | |
st.header("Current Q&A Pairs") | |
for qa in st.session_state.qa_pairs: | |
st.write(f"Q: {qa['question']}") | |
st.write(f"A: {qa['answer']}") | |
st.write("---") | |