Skip to main content

Generate images and thumbnails based on bitmap transformations of rendered prose

Project description

styled-prose

GitHub Workflow Status PyPI - Downloads GitHub

Generate images and thumbnails based on bitmap transformations of rendered prose.

Documentation: https://styledprose.thearchitector.dev.

Tested support on Python 3.8, 3.9, 3.10, 3.11, and 3.12.

$ pdm add styled-prose
# or
$ pip install --user styled-prose

Example

The following stylesheet is a super simple example that overrides the default style's font size and family.

# stylesheet.toml

[[fonts]]
font_name = "EB Garamond"
from_google_fonts = true

[[styles]]
name = "default"
font_size = 14
font_name = "EB Garamond"

Using that stylesheet, and some basic prose, you can generate an image. The requested font family EB Garamond and its license are downloaded from Google Fonts and cached automatically; subsequent generations use those cached fonts.

from PIL import Image
from styled_prose import StyledProseGenerator

text: str = """
This is normal.

<i>This is italicized.</i>

<b>This is bold.</b>

<i><b>This is bold and italicized.</b></i>

<u>This is underlined.</u>

<strike>This is struck from the record.</strike>
"""
random.seed(771999)

generator: StyledProseGenerator = StyledProseGenerator("stylesheet.toml")
img: Image.Image = generator.create_jpg(
    text,
    angle=-2.5, # optional; an angle by which to rotate the image
    thumbnail=(210, 210), # optional; the dimensions of a random thumbnail
)

img.save("prose.jpg", quality=95)

This above code produces the following image:

example rendering

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

styled_prose-1.0.0.tar.gz (15.1 kB view hashes)

Uploaded Source

Built Distribution

styled_prose-1.0.0-py3-none-any.whl (13.8 kB 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