{"id":15679842,"url":"https://github.com/transitive-bullshit/puppeteer-render-text-cli","last_synced_at":"2025-10-11T15:39:47.769Z","repository":{"id":143904001,"uuid":"139327072","full_name":"transitive-bullshit/puppeteer-render-text-cli","owner":"transitive-bullshit","description":"CLI for rendering text with headless chrome.","archived":false,"fork":false,"pushed_at":"2020-07-11T23:11:21.000Z","size":52,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-11T18:54:35.920Z","etag":null,"topics":["cli","puppeteer","puppeteer-screenshot","render","text","text-to-image"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/transitive-bullshit.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-01T12:25:16.000Z","updated_at":"2024-03-03T23:13:06.000Z","dependencies_parsed_at":"2023-04-04T17:17:34.562Z","dependency_job_id":null,"html_url":"https://github.com/transitive-bullshit/puppeteer-render-text-cli","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transitive-bullshit%2Fpuppeteer-render-text-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transitive-bullshit%2Fpuppeteer-render-text-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transitive-bullshit%2Fpuppeteer-render-text-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transitive-bullshit%2Fpuppeteer-render-text-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/transitive-bullshit","download_url":"https://codeload.github.com/transitive-bullshit/puppeteer-render-text-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252862262,"owners_count":21815829,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","puppeteer","puppeteer-screenshot","render","text","text-to-image"],"created_at":"2024-10-03T16:37:40.849Z","updated_at":"2025-10-11T15:39:42.743Z","avatar_url":"https://github.com/transitive-bullshit.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# puppeteer-render-text-cli\n\n\u003e CLI for rendering text with headless chrome.\n\n[![NPM](https://img.shields.io/npm/v/puppeteer-render-text-cli.svg)](https://www.npmjs.com/package/puppeteer-render-text-cli) [![Build Status](https://travis-ci.com/transitive-bullshit/puppeteer-render-text-cli.svg?branch=master)](https://travis-ci.com/transitive-bullshit/puppeteer-render-text-cli) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"502\" alt=\"Logo\" src=\"https://cdn.rawgit.com/transitive-bullshit/puppeteer-render-text/master/media/logo.png\"\u003e\n\u003c/p\u003e\n\nThis CLI is also available as a [library](https://github.com/transitive-bullshit/puppeteer-render-text).\n\n## Why?\n\nImageMagick is the traditional unix tool to programatically [render text](http://www.imagemagick.org/Usage/text/), and while it works very well for simple use cases, trying to use it to render rich text or html is very difficult. [Pango](https://www.pango.org/) is another option that's been around for ages, but both suffer from archaic syntax and minimal rich text support.\n\n[Puppeteer](https://github.com/GoogleChrome/puppeteer), on the other hand, allows for robust, headless chrome screenshots with best-in-class support for all modern html / text / font features.\n\n**This CLI makes it easy to use headless chrome to render text + html to images.**\n\n## Features\n\n-   built-in [fontfaceobserver](https://fontfaceobserver.com/)\n-   easily load [google fonts](https://fonts.google.com/)\n-   optional word-wrap\n-   main content is just **html**\n-   styling is done via [**css**](https://www.w3schools.com/jsref/dom_obj_style.asp)\n-   handles multiple fonts\n-   thoroughly tested\n-   includes a [CLI](https://github.com/transitive-bullshit/puppeteer-render-text-cli)\n\n## Install\n\n```bash\nnpm install -g puppeteer-render-text-cli\n```\n\n## Usage\n\n```bash\n  Usage: puppeteer-render-text [options] \u003ctext\u003e\n\n  Options:\n\n    -V, --version                    output the version number\n    -o, --output \u003cpath\u003e              path of image file to store result (default: out.png)\n    -w, --width \u003cnumber\u003e             optional max width\n    -h, --height \u003cnumber\u003e            optional max height\n    -g, --load-google-font           load font families from google\n    -l, --load-font-family \u003cstring\u003e  font family to load with fontfaceobserver\n    -s, --style \u003cstring\u003e             JSON string of CSS styles (default: { })\n    --font-family \u003cstring\u003e           font-family to add to style\n    --font-size \u003cstring\u003e             font-size to add to style\n    --padding \u003cstring\u003e               padding to add to style\n    --color \u003cstring\u003e                 color to add to style\n    -h, --help                       output usage information\n```\n\n## Related\n\n-   [puppeteer-render-text](https://github.com/transitive-bullshit/puppeteer-render-text) - Library for this CLI.\n-   [puppeteer](https://github.com/GoogleChrome/puppeteer) - Headless Chrome Node API.\n-   [awesome-puppeteer](https://github.com/transitive-bullshit/awesome-puppeteer) - Curated list of awesome puppeteer resources.\n\n## License\n\nMIT © [Travis Fischer](https://github.com/transitive-bullshit)\n\nSupport my OSS work by \u003ca href=\"https://twitter.com/transitive_bs\"\u003efollowing me on twitter \u003cimg src=\"https://storage.googleapis.com/saasify-assets/twitter-logo.svg\" alt=\"twitter\" height=\"24px\" align=\"center\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftransitive-bullshit%2Fpuppeteer-render-text-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftransitive-bullshit%2Fpuppeteer-render-text-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftransitive-bullshit%2Fpuppeteer-render-text-cli/lists"}