使用Streamlit实现PDF预览
本主要是为了实现Streamlit中实现显示PDF文件,其实这种方式就是利用浏览器本身的一种预览方式实现的。
因为初学streamlit,在网上看了一堆如何实现streamlit中显示PDF,都是从本地文件(也就是绝对路径)实现PDF显示的,通过st.file_uploader上传文件的方式进行预览的,尝试了很多次都不成功,最后看到一篇博客介绍如何获取streamlit上传文档的路径,最终成功显示。
代码实现:
import streamlit as st
import base64
from pathlib import Path
import tempfiledef writer():file = st.file_uploader("选择待上传的PDF文件", type=['pdf'])if st.button("点击"):if file is not None:with tempfile.NamedTemporaryFile(delete=False) as tmp_file:fp = Path(tmp_file.name)fp.write_bytes(file.getvalue())with open(tmp_file.name, "rb") as f:base64_pdf = base64.b64encode(f.read()).decode('utf-8')pdf_display = f'
最终显示效果:

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
