通过浏览器渲染图片
Project description
nonebot-plugin-htmlrender
- 通过浏览器渲染图片
- 可通过查看
example
参考使用实例 - 如果有安装浏览器等问题,先查看文档最底下的
常见问题
再去看 issue 有没有已经存在的
✨ 功能
- 通过 html 和浏览器生成图片
- 支持
纯文本
markdown
和jinja2
模板输入 - 通过 CSS 来控制样式
使用
参考example/plugins/render/init.py
from nonebot import require
require("nonebot_plugin_htmlrender")
# 注意顺序,先require再 from ... import ...
# 注意顺序,先require再 from ... import ...
# 注意顺序,先require再 from ... import ...
from nonebot_plugin_htmlrender import (
text_to_pic,
md_to_pic,
template_to_pic,
get_new_page,
)
# 注意顺序,先require再 from ... import ...
# 注意顺序,先require再 from ... import ...
# 注意顺序,先require再 from ... import ...
配置
# 默认情况 可不写
htmlrender_browser = "chromium"
# 使用 firefox
htmlrender_browser = "firefox"
# 下载 playwright 代理地址 可不写
htmlrender_download_host = ""
# 浏览器自定代理地址 可不写
htmlrender_proxy_host = "http://127.0.0.1:7890"
# 浏览器 channel 支持以下
# "chrome", "chrome-beta", "chrome-dev", "chrome-canary",
# "msedge", "msedge-beta", "msedge-dev", "msedge-canary"
# 手动编辑可以直接使用系统自带浏览器而不用重新下载 chromium
# 可不写
htmlrender_browser_channel = ""
# 浏览器执行文件路径 可不写
htmlrender_browser_executable_path = ""
# 使用 cdp 连接现有浏览器
# 使用方法,自行启动浏览,在启动浏览器时添加参数 --remote-debugging-port=1234
# 可不写
htmlrender_connect_over_cdp = "http://127.0.0.1:1234"
markdown 转 图片
- 使用
GitHub-light
样式 - 支持绝大部分 md 语法
- 代码高亮
- latex 数学公式 (感谢@MeetWq)
- 使用
$$...$$
来输入独立公式 - 使用
$...$
来输入行内公式
- 使用
- 图片需要使用外部连接并使用
html
格式 否则文末会超出截图范围 - 图片可使用 md 语法 路径可为
绝对路径
(建议), 或相对于template_path
的路径
模板 转 图片
- 使用 jinja2 模板引擎
- 页面参数可自定义
🌰 栗子
文本转图片(同时文本里面可以包括 html 图片)
markdown 转图片(同时文本里面可以包括 html 图片)
纯 html 转图片
jinja2 模板转图片
特别感谢
- MeetWq 提供数学公式支持代码和代码高亮
常见疑难杂症
playwright._impl._api_types.Error:
初次运行时报错
- 一般为缺少必要的运行环境,如中文字体等
Ubuntu 使用 apt
apt update && apt install -y locales locales-all fonts-noto libnss3-dev libxss1 libasound2 libxrandr2 libatk1.0-0 libgtk-3-0 libgbm-dev libxshmfence1
- 然后设置 ENV local
LANG zh_CN.UTF-8
LANGUAGE zh_CN.UTF-8
LC_ALL zh_CN.UTF-8
CentOS 使用 yum
小心 CentOS- 参考CentOS Dockerfile
- 添加中文字体库
最佳解决办法- 使用 Docker 然后用 Python 镜像 按照上面 Ubuntu 的写
dockerfile
- 使用 Docker 然后用 Python 镜像 按照上面 Ubuntu 的写
下面这个依赖运行一下 也许就可以用了
dnf install -y alsa-lib at-spi2-atk at-spi2-core atk cairo cups-libs dbus-libs expat flac-libs gdk-pixbuf2 glib2 glibc gtk3 libX11 libXcomposite libXdamage libXext libXfixes libXrandr libXtst libcanberra-gtk3 libdrm libgcc libstdc++ libxcb libxkbcommon libxshmfence libxslt mesa-libgbm nspr nss nss-util pango policycoreutils policycoreutils-python-utils zlib cairo-gobject centos-indexhtml dbus-glib fontconfig freetype gtk2 libXcursor libXi libXrender libXt liberation-fonts-common liberation-sans-fonts libffi mozilla-filesystem p11-kit-trust pipewire-libs harfbuzz-icu libglvnd-glx libglvnd-egl libnotify opus woff2 gstreamer1-plugins-base gstreamer1-plugins-bad-free openjpeg2 libwebp enchant libsecret hyphen libglvnd-gles
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nonebot_plugin_htmlrender-0.4.0.tar.gz
.
File metadata
- Download URL: nonebot_plugin_htmlrender-0.4.0.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5827039993eba05c90e26e03f42e0d230a180b201a5d509d81ab22c690395e6 |
|
MD5 | 1ac84aaf105aae7ec6ea834eb024e33b |
|
BLAKE2b-256 | 097ae86ff6a1567307761827416a2b0c3d853733da7458798a4791df83e965c5 |
Provenance
The following attestation bundles were made for nonebot_plugin_htmlrender-0.4.0.tar.gz
:
Publisher:
publish.yml
on kexue-z/nonebot-plugin-htmlrender
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
nonebot_plugin_htmlrender-0.4.0.tar.gz
- Subject digest:
a5827039993eba05c90e26e03f42e0d230a180b201a5d509d81ab22c690395e6
- Sigstore transparency entry: 145148760
- Sigstore integration time:
- Predicate type:
File details
Details for the file nonebot_plugin_htmlrender-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: nonebot_plugin_htmlrender-0.4.0-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | abf94025c93b7918acf8b1d5d353a6ba40368323d793cb4bde43ae9d5ce6256e |
|
MD5 | a1f20dc6f3336cbefa7dc86469c720c2 |
|
BLAKE2b-256 | 8023a34c80d032200197038461f52a27b33c27ef5688accb3e797436fd59fc00 |
Provenance
The following attestation bundles were made for nonebot_plugin_htmlrender-0.4.0-py3-none-any.whl
:
Publisher:
publish.yml
on kexue-z/nonebot-plugin-htmlrender
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
nonebot_plugin_htmlrender-0.4.0-py3-none-any.whl
- Subject digest:
abf94025c93b7918acf8b1d5d353a6ba40368323d793cb4bde43ae9d5ce6256e
- Sigstore transparency entry: 145148762
- Sigstore integration time:
- Predicate type: