ComfyUI Extension: ComfyUI_MarkdownImage

Authored by dasilva333

Created

Updated

0 stars

This project generates an image from Markdown text using imgkit and wkhtmltoimage. It automatically scales the text to fit within the specified image dimensions.

Custom Nodes (0)

    README

    CreateMarkdownImage ComfyUI node

    This project generates an image from Markdown text using imgkit and wkhtmltoimage. It automatically scales the text to fit within the specified image dimensions.

    šŸ”§ Installation

    1ļøāƒ£ Install Dependencies

    pip install -r requirements.txt
    

    2ļøāƒ£ Install wkhtmltoimage

    This project requires wkhtmltoimage, which is part of wkhtmltopdf. You need to install it manually.

    šŸ”— Download wkhtmltopdf from:
    šŸ‘‰ https://wkhtmltopdf.org/downloads.html

    Make sure to add wkhtmltoimage.exe to your system PATH, or update the script with its full path.


    šŸ“Œ How It Works

    This script:

    1. Converts Markdown text into HTML.
    2. Renders the HTML into an image using imgkit.
    3. Dynamically adjusts the font size to maximize readability.
    4. Returns the image as a PyTorch tensor.

    šŸ“Š Input Fields

    | Field | Type | Description | |------------------|--------|-------------| | md_text | String | Markdown text to be rendered into an image. Supports basic formatting (bold, italic, emojis). | | border_color | String | HEX color or HTML named color for the image border (e.g., #FFFF00 for yellow). | | border_size | Int | Border thickness in pixels. | | image_width | Int | Width of the generated image in pixels. | | image_height | Int | Height of the generated image in pixels. | | background_color | String | HEX color or html color name (e.g., "lightblue"). |


    šŸš€ Usage

    from create_markdown_image import CreateMarkdownImage
    
    generator = CreateMarkdownImage()
    image_tensor = generator.createmarkdownimage(
        md_text="**Hello World!** šŸš€",
        border_color="#000000",
        border_size=2,
        image_width=800,
        image_height=200,
        background_color="white"
    )
    

    This will generate an image containing "Hello World! šŸš€" with a black border and a white background.


    šŸ› ļø Troubleshooting

    • If imgkit fails, ensure wkhtmltoimage.exe is installed and accessible.
    • If text doesn't scale correctly, adjust the image_width and image_height fields.

    šŸ“œ License

    This project is licensed under the MIT License.