| import streamlit.components.v1 as components | |
| import os | |
| import base64 | |
| _RELEASE = False | |
| if not _RELEASE: | |
| _component_func = components.declare_component( | |
| "pdf_viewer", | |
| url="http://localhost:3000", | |
| ) | |
| else: | |
| parent_dir = os.path.dirname(os.path.abspath(__file__)) | |
| build_dir = os.path.join(parent_dir, "frontend/build") | |
| _component_func = components.declare_component("pdf_viewer", path=build_dir) | |
| def pdf_viewer(pdf_base64, initial_page=1, key=None): | |
| component_value = _component_func(pdfBase64=pdf_base64, initialPage=initial_page, key=key, default=initial_page) | |
| return component_value | |
| def load_pdf_as_base64(file_path): | |
| with open(file_path, "rb") as pdf_file: | |
| return base64.b64encode(pdf_file.read()).decode("utf-8") |