Skip to main content

Streamlit component for PDF visualisation and manipulation

Project description

streamlit-pdf-viewer

Component allowing the visualisation and manipulation of PDF documents in streamlit

Work in progress

We are early in the development, looking for contributors. Currently, it has been tested on Chrome and Firefox.

img.png

You can see an application in action here.

Getting started

pip install streamlit-pdf-viewer

In your streamlit application, you can use it as:

import streamlit as st
from streamlit_pdf_viewer import pdf_viewer

pdf_viewer("str, path or bytes")

Developers notes

Environment

  • Python >= 3.8
  • Node.js >= 16
  • Streamlit 1.28.2

Configure environment for development

First make sure that _RELEASE = False in streamlit_pdf_viewer/__init__.py. To run the component in development mode, use the following commands:

streamlit run my_component/__init__.py

cd frontend
npm run serve

These commands will start the Streamlit application and serve the Node.js component, respectively. Ensure you're in the correct directory before running these commands.

Integrate into a streamlit application

  1. Build the frontend part:

    cd frontend
    export NODE_OPTIONS=--openssl-legacy-provider
    npm run build 
    
  2. Make sure that _RELEASE = True in streamlit_pdf_viewer/__init__.py.

  3. move to the streamlit_application and run

    pip install -e {path of component}
    

Release

bump-my-version bump patch | minor | major
git push
git push --tags 

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

streamlit-pdf-viewer-0.0.2.tar.gz (2.2 MB view hashes)

Uploaded Source

Built Distribution

streamlit_pdf_viewer-0.0.2-py3-none-any.whl (2.2 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page