跳到主要内容

Python API

render() - 简单转换

最简单的 HTML 转图片方式。

import html2png

html2png.render("page.html", "output.png")

参数

参数类型默认值描述
input_sourcestr必填HTML 文件路径、URL 或 "-" 表示标准输入
output_pathstr | Path必填输出图片文件路径
widthint1080视口宽度(像素)
heightint1440视口高度(像素)
dprfloat3.0设备像素比
browserstr | BrowserEngine"chromium"浏览器引擎
formatstr | ImageFormat"png"输出格式(png/jpeg)
qualityintNoneJPEG 质量 0-100
full_pageboolTrue截取完整页面
timeoutint60000导航超时时间(毫秒)
headlessboolTrue无头模式运行浏览器
wait_forstrNone等待的 CSS 选择器
wait_strategystr | PageLoadStrategy"domcontentloaded"页面加载策略
zoomfloat1.0页面缩放级别
configConfigNone配置对象

返回值

bool - 转换成功返回 True,否则返回 False

示例

import html2png

# 基本用法
html2png.render("page.html", "output.png")

# 自定义尺寸
html2png.render("page.html", "output.png", width=1920, height=1080)

# 高 DPI
html2png.render("page.html", "output.png", dpr=2.0)

# JPEG 格式
html2png.render("page.html", "output.jpg", format="jpeg", quality=90)

# 从 URL 转换
html2png.render("https://example.com", "screenshot.png")

# 缩放
html2png.render("page.html", "output.png", zoom=1.5)

Renderer - 批量处理

复用浏览器实例进行多次转换。

with html2png.Renderer(width=1920, height=1080) as r:
r.render("page1.html", "out1.png")
r.render("page2.html", "out2.png")
r.render("https://example.com", "screenshot.png")

构造函数参数

render() 函数参数相同。

方法

render(input_source, output_path, **kwargs)

使用共享浏览器实例渲染 HTML 为图片。

额外可覆盖参数: formatqualitywait_fortimeout

示例

import html2png

# 批量处理,共享浏览器
with html2png.Renderer(width=1920, height=1080, dpr=2.0) as r:
r.render("page1.html", "out1.png")
r.render("page2.html", "out2.png")
r.render("page3.html", "out3.png")

# 每次渲染覆盖格式
with html2png.Renderer() as r:
r.render("page1.html", "out1.png")
r.render("page2.html", "out2.jpg", format="jpeg", quality=90)

Config - 配置对象

创建可复用的配置。

config = html2png.Config(
width=1920,
height=1080,
dpr=2.0,
format="jpeg",
quality=90
)
html2png.render("page.html", "output.jpg", config=config)

属性

属性类型默认值
widthint1080
heightint1440
dprfloat3.0
browserstr | BrowserEngine"chromium"
formatstr | ImageFormat"png"
qualityint | NoneNone
full_pageboolTrue
timeoutint60000
headlessboolTrue
wait_forstr | NoneNone
wait_strategystr | PageLoadStrategy"domcontentloaded"
zoomfloat1.0

高级类型

BrowserEngine

from html2png import BrowserEngine

BrowserEngine.CHROMIUM # "chromium"
BrowserEngine.FIREFOX # "firefox"
BrowserEngine.WEBKIT # "webkit"

ImageFormat

from html2png import ImageFormat

ImageFormat.PNG # "png"
ImageFormat.JPEG # "jpeg"

PageLoadStrategy

from html2png import PageLoadStrategy

PageLoadStrategy.COMMIT # "commit"
PageLoadStrategy.DOMCONTENTLOADED # "domcontentloaded"
PageLoadStrategy.LOAD # "load"
PageLoadStrategy.NETWORKIDLE # "networkidle"