doc-to-slides / app.py
com3dian's picture
fix config.json
e5ef7f9
raw
history blame
1.47 kB
import streamlit as st
import pandas as pd
import numpy as np
import os
from grobidmonkey import reader
from grobid_client.grobid_client import GrobidClient
def save_uploaded_file(uploaded_file):
file_path = os.path.join("uploads", uploaded_file.name)
os.makedirs("uploads", exist_ok=True) # Create 'uploads' directory if it doesn't exist
with open(file_path, "wb") as f:
f.write(uploaded_file.getbuffer())
return file_path # Return the file path as a string
st.title('Paper2Slides')
st.subheader('Upload paper in pdf format')
uploaded_file = st.file_uploader("Choose a file")
if uploaded_file is not None:
st.write(uploaded_file.name)
bytes_data = uploaded_file.getvalue()
st.write(len(bytes_data), "bytes")
saved_file_path = save_uploaded_file(uploaded_file)
os.makedirs("grobidoutputs", exist_ok=True)
client = GrobidClient(config_path="./grobidconfig.json")
client.process("processFulltextDocument",
"./uploads/",
output="./grobidoutputs/",
n=20)
output_file_path = os.path.join("grobidoutputs", os.path.splitext(uploaded_file.name)[0] + "tei.xml")
monkeyReader = reader.MonkeyReader('x2d')
outline = monkeyReader.readOutline(saved_file_path)
for pre, fill, node in outline:
st.write("%s%s" % (pre, node.name))
# read paper content
essay = monkeyReader.readEssay(saved_file_path)