目录:
html2image 通过封装 Chrome、Edge 等浏览器的无头模式,能够轻松地将 URL、HTML 字符串或本地 HTML 文件转换为高质量的图像(如PNG、JPEG格式)。
生成的是位图,不是矢量图,放大很多倍数图片会变模糊。
安装依赖:
$ pip install html2image
安装后,确保系统中已安装 Chrome、Chromium 或 Edge 等支持的浏览器。
from html2image import Html2Image
# 初始化实例
hti = Html2Image()
# 截取网页
hti.screenshot(url='https://blog.dkvirus.com/', save_as='test.png')
支持从多个 URL 批量生成图片:
from html2image import Html2Image
hti = Html2Image()
# 批量截图多个URL
urls = ['https://example.com/page1', 'https://example.com/page2']
hti.screenshot(url=urls, save_as=['page1.png', 'page2.png'])
from html2image import Html2Image
hti = Html2Image()
# 渲染 HTML 字符串
html_content = "<h1>Hello, World!</h1><p>这是一个示例。</p>"
css_style = "body { background-color: lightblue; padding: 20px; }"
hti.screenshot(html_str=html_content, css_str=css_style, save_as='custom.png')
需要注意的是 HTML 字符串如果包含本地图片引用或本地css引用是不生效的,如下示例:
from html2image import Html2Image
# 初始化实例
hti = Html2Image()
# 渲染HTML字符串
html_content = "<h1>Hello, World!</h1><img src='./test.png'>"
css_style = "body { background-color: lightblue; padding: 20px; }"
hti.screenshot(html_str=html_content, css_str=css_style, save_as='custom.png')
支持批量根据 HTML 字符串生成图片,如下示例,虽然 save_as 参数只是一个字符串,最终仍然会生成 batch_output_0.png 和 batch_output_1.png 两张图片。
from html2image import Html2Image
# 初始化实例
hti = Html2Image()
# 批量渲染多个 HTML 字符串
html_list = ['<h1>Page A</h1>', '<h1>Page B</h1>']
hti.screenshot(html_str=html_list, save_as='batch_output.png')
↶ 返回首页 ↶