SnapHTML؛ ساخت PDF و عکس از HTML با یه API
خلاصهٔ کاملتر
SnapHTML یه سرویس API برای تبدیل HTML به فایله. کاری که میکنه اینه که markup خام، یه آدرس URL، یا یه قالب از قبل ذخیرهشده رو تو یه مرورگر واقعی رندر میکنه و خروجی نهایی رو بهشکل PDF، PNG، WebP یا JPG و بهصورت پاسخ باینری بهت تحویل میده. هدف اعلامشدهش اینه که فایلهایی مثل فاکتور، رسید، گزارش، preview و تصویر اشتراکگذاری رو بسازی، بدون اینکه خودت زیرساخت رندر داشته باشی.
مشکلی که میخواد حل کنه آشناست: رندر کردن HTML به PDF یا عکس معمولاً یعنی راه انداختن یه مرورگر headless مثل Playwright، مدیریت صف کارها، تنظیم worker و تمیزکاری بعدش. تو این مدل، همهی این پیچیدگی از کدبیس تو خارج میشه؛ اپ خودت فقط داده و markup رو داره و SnapHTML کار رندر مرورگر رو انجام میده.
طرز کارش اینه که از سمت سرور یه درخواست JSON میفرستی و بایت فایل رو پس میگیری. نمونهی فراخوانی به این شکله که html و تنظیمات خروجی رو تو بدنهی درخواست میذاری:
await fetch("https://api.snhtml.com/v1/render", {
method: "POST",
headers: {
"authorization": "Bearer sn_live_...",
"content-type": "application/json"
},
body: JSON.stringify({
html: "<main><h1>Invoice #1842</h1></main>",
format: "png",
width: 1024,
height: 900
})
});دوتا مسیر اصلی داره. مسیر /v1/render برای فایلهای یهبارمصرفه؛ یا مستقیم HTML میفرستی (وقتی اپ خودت داره سند رو میسازه) یا یه URL میدی (وقتی صفحه از قبل وجود داره). مسیر /v1/render/template هم برای سندهای تکرارشوندهی مشتریمحوره؛ یه بار HTML رو بهعنوان قالب ذخیره میکنی و بعد فقط یه templateId بهعلاوهی متغیرها میفرستی که جای {{variables}} نشونده میشن.
رو خروجی هم کنترل کامل داری: میتونی اندازهی viewport، کیفیت عکس، گرفتن full-page، حالت media (screen یا print)، فاکتور مقیاس صفحه، حاشیه و قطع کاغذ PDF مثل A4 یا Letter، پسزمینهی شفاف و زمان انتظار قبل از رندر رو همه تو همون درخواست تنظیم کنی.
از نظر قیمت، یه پلن رایگان با ۱۰۰ رندر در ماه و بدون نیاز به کارت اعتباری داره، و بعدش پلنهای Builder با ۹ دلار (۲٬۰۰۰ رندر)، Pro با ۲۹ دلار (۱۰٬۰۰۰ رندر) و Max با ۹۹ دلار (۵۰٬۰۰۰ رندر) در ماه. همهی پلنها خروجی PDF و عکس و پاسخ باینری مستقیم رو دارن.
نکات کلیدی:
- HTML خام، URL یا قالب رو تو مرورگر واقعی رندر میکنه و PDF/PNG/WebP/JPG برمیگردونه
- پیچیدگی worker رندر و مرورگر headless رو از کدبیس تو خارج میکنه
- دوتا مسیر داره: /v1/render برای فایل یهبارمصرف و /v1/render/template برای قالبهای تکرارشونده
- کنترل کامل روی viewport، کیفیت، حاشیه، قطع کاغذ و حالت media تو هر درخواست
- پلن رایگان ۱۰۰ رندر در ماه و پلنهای پولی از ۹ دلار به بالا




