Examples

HTML to PDF with Python and Selenium

Install Selenium for Python

pip install selenium

selenium 4.11+ includes Selenium Manager, which downloads the right chromedriver automatically — no separate driver install needed.

Convert HTML to PDF and save to file

import base64

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--headless=new')

driver = webdriver.Chrome(options=options)

html = '<html><body><h1>Hello World</h1></body></html>'
driver.get('data:text/html;charset=utf-8,' + html)

pdf = driver.print_page()  # base64-encoded PDF
with open('html.pdf', 'wb') as f:
    f.write(base64.b64decode(pdf))

driver.quit()

Find out how to change the size of the viewport with Python and Selenium.

That was 18 lines of code — plus a browser to run in production

Keeping headless browsers fed, patched and scaled is a job in itself. We built Urlbox so the same screenshot is one API call:

curl "https://api.urlbox.com/v1/YOUR_API_KEY/png?url=https://example.com"

Try the Urlbox screenshot API — free trial, no browser babysitting.