Files
SnapOtter/apps/docs/sv/tools/image/html-to-image.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

3.3 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Fånga webbsidor eller HTML-utdrag som högkvalitativa bilder med enhetsemulering. 1e49d070ea2e human 7d70f0fd4d48

HTML till bild

Fånga en webbsides-URL eller rått HTML-innehåll som en skärmbild. Stöder enhetsemulering (skrivbord, surfplatta, mobil), helsidefångst och flera utdataformat.

API-slutpunkt

POST /api/v1/tools/image/html-to-image

Tar emot en JSON-kropp (inte multipart). Ingen filuppladdning behövs.

Parametrar

Parameter Typ Obligatorisk Standard Beskrivning
url string Villkorlig - URL att fånga (måste vara en giltig URL)
html string Villkorlig - Rått HTML-innehåll att rendera (1 till 5 000 000 tecken)
format string Nej "png" Utdataformat: jpg, png, webp
quality number Nej 90 Utdatakvalitet för förlustbehäftade format (1 till 100)
fullPage boolean Nej false Fånga hela den rullbara sidan, inte bara vyn
devicePreset string Nej "desktop" Enhetsemulering: desktop, tablet, mobile, custom
viewportWidth number Nej 1280 Anpassad vybredd i pixlar (320 till 3840, används när devicePreset är custom)
viewportHeight number Nej 720 Anpassad vyhöjd i pixlar (320 till 2160, används när devicePreset är custom)

Antingen url eller html måste anges, men inte båda.

Enhetsförinställningar

Förinställning Bredd Höjd Mobil UA
desktop 1280 720 Nej
tablet 768 1024 Nej
mobile 375 812 Ja
custom (användarangiven) (användarangiven) Nej

Exempelbegäran

Fånga en webbsida:

curl -X POST http://localhost:1349/api/v1/tools/image/html-to-image \
  -H "Authorization: Bearer si_your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "format": "png", "fullPage": true, "devicePreset": "desktop"}'

Rendera HTML-innehåll:

curl -X POST http://localhost:1349/api/v1/tools/image/html-to-image \
  -H "Authorization: Bearer si_your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"html": "<div style=\"padding: 20px; background: #f0f0f0;\"><h1>Hello</h1></div>", "format": "png"}'

Exempelsvar

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/screenshot.png",
  "originalSize": 0,
  "processedSize": 145000
}

Anmärkningar

  • Kräver att Chromium är installerat på servern. Returnerar HTTP 503 om webbläsartjänsten inte är tillgänglig.
  • URL:er valideras mot SSRF-attacker (privata/interna nätverksadresser blockeras).
  • Denna slutpunkt är hastighetsbegränsad till 120 begäranden per timme.
  • originalSize är alltid 0 eftersom detta verktyg genererar bilder från URL:er/HTML.
  • Utdatafilnamnet är screenshot.<format>.
  • Om sidan tar för lång tid att ladda returnerar begäran HTTP 504 (gateway-timeout).
  • Om webbläsartjänsten kraschar upprepade gånger inaktiveras den tillfälligt och returnerar HTTP 503 med koden BROWSER_CRASHED.