streamlit-pdf 1.0.8


pip install streamlit-pdf

  Latest version

Released: Oct 13, 2025


Meta
Author: Snowflake Inc
Maintainer: Snowflake Inc
Requires Python: >=3.9

Classifiers

Development Status
  • 3 - Alpha

Intended Audience
  • Developers

License
  • OSI Approved :: Apache Software License

Programming Language
  • Python :: 3
  • Python :: 3.9
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12

Topic
  • Software Development :: Libraries :: Python Modules
  • Office/Business :: Office Suites
  • Multimedia :: Graphics :: Viewers

streamlit-pdf

A lightweight Streamlit feature that seamlessly displays PDF files in your apps, allowing for simple, responsive, and clean document viewing with minimal effort.


๐Ÿ“ฆ Installation

pip install streamlit[pdf]

Ensure you have Streamlit installed:


๐Ÿ’ก Usage

Here's how to display a PDF file in your Streamlit app:

import streamlit as st

# Display PDF from URL
st.pdf("https://example.com/document.pdf")

# Display with custom height
st.pdf("path/to/document.pdf", height=600)

# Display uploaded file
uploaded_file = st.file_uploader("Choose a PDF file", type="pdf")
if uploaded_file is not None:
    st.pdf(uploaded_file)

โš™๏ธ API Reference

st.pdf(data, height=600)

Parameters:

  • data (str | Path | bytes | BytesIO): The PDF file to show. This can be one of the following:

    • A URL (string) for a hosted PDF file ("https://example.com/doc.pdf")
    • A path to a local PDF file ("./documents/sample.pdf")
    • A file-like object, e.g. a file opened with open or an UploadedFile returned by st.file_uploader
    • Raw bytes data
  • height (int, optional): Height of the PDF viewer in pixels. Default: 600


๐Ÿ–ผ๏ธ Examples

Basic PDF Display

import streamlit as st

st.title("PDF Viewer Example")

# Display a PDF from URL
st.pdf("https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf")

File Upload with PDF Display

import streamlit as st

st.title("Upload and View PDF")

uploaded_file = st.file_uploader("Choose a PDF file", type="pdf")
if uploaded_file is not None:
    st.pdf(uploaded_file)

Custom Height

import streamlit as st

# Display PDF with specific height
st.pdf("document.pdf", height=800)

# Display PDF with default height
st.pdf("document.pdf")

Reading from Local File

import streamlit as st

with open("document.pdf", "rb") as file:
    st.pdf(file.read(), height=700)

๐Ÿ“ Contributing

Feel free to file issues in our Streamlit Repository.

Contributions are welcome ๐Ÿš€, however, please inform us before building a feature.


Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras:
Dependencies: