তুলনা

gPdf বনাম Puppeteer

gPdf-এর edge-rendered JSON-to-PDF API বনাম server-side headless Chromium pattern। Latency, price, runtime এবং কোন workload-এ কোনটি জেতে।

সংক্ষেপ

Puppeteer মূলত general-purpose browser automation tool, যা PDF-ও render করতে পারে। gPdf হলো edge-এ single-digit milliseconds-এ চলা PDF rendering engine। Workload যদি production volume-এর structured document হয়, যেমন invoice, label, statement, তাহলে gPdf ৫০-১০০× কম latency এবং ১০-২০× কম cost দিতে পারে। Arbitrary live web page বা existing HTML-এর screenshot-style PDF দরকার হলে Puppeteer এখনও সঠিক tool।

পাশাপাশি

মাপদণ্ড gPdf Puppeteer এগিয়ে
Render p50 (1-page A4 invoice)
Same input-এ 1K invocations দিয়ে দুটিই মাপা হয়েছে।
3 ms 312 ms gPdf
Cold start ~12 ms (fresh isolate-এ প্রথম request) 1.5-2.5 s (Chromium boot) gPdf
Runtime
Puppeteer-এর 200-800 MB browser binary দরকার; gPdf ~2 MB WASM module হিসেবে ship হয়।
Cloudflare Workers V8 isolates Long-lived Node.js + Chromium container gPdf
Edge regions 300+ Cloudflare PoPs আপনি যেখানে container deploy করেন, সাধারণত 3-6 regions gPdf
PDF/A compliance PDF/A-1b · 2b · 3b · 4 প্রতি request-এ selectable Native support নেই; Ghostscript বা veraPDF post-processing দরকার gPdf
E-invoice (Factur-X / ZUGFeRD) Native endpoint; PDF/A-3b-তে CII XML embed করে Supported নয়; separate pipeline stage দরকার gPdf
Vector barcode
Puppeteer page যা render করে তা print করতে পারে, কিন্তু barcode geometry, quiet zone ও thermal-printer sizing application-owned থাকে।
30+ symbologies built in (QR, GS1-128, PDF417, DataMatrix, …) Page-level barcode library, SVG/canvas choice ও print sizing-এর ওপর নির্ভর gPdf
CJK font handling NotoSans CJK embedded; automatic glyph fallback Container-এ installed font যা আছে; OS-level setup দরকার gPdf
HTML/CSS layout fidelity N/A — gPdf JSON নেয়, HTML নয় Best-in-class. যে কোনো web page render করে। Puppeteer
Screenshot-style web->PDF-এর জন্য best না হ্যাঁ Puppeteer
১ লাখ one-page document-এ list price
Puppeteer নিজে free। Paid surface হলো Chromium service, যা আপনি এর চারপাশে তৈরি করেন।
Basic plan মাসে ৫ USD-তে ১ লাখ পৃষ্ঠা দেয় License fee নেই; hosting, storage, monitoring ও engineer time আপনার খরচ gPdf
Production ownership cost Hosted edge API, visual Studio কাজের ধারা, templates, fonts, barcode primitives, PDF/A/e-invoice paths Chromium containers, warm pools, regional capacity, page templates, fonts, retries, observability gPdf
Determinism (same input -> same bytes) হ্যাঁ — isolates জুড়ে byte-identical output না — Chromium font hinting ও rasterisation version বদলালে drift করতে পারে gPdf

কখন কোনটা বাছবেন

gPdf বাছুন যখন
  • আপনি structured documents (invoices, shipping labels, statements, payslips, tickets) যে কোনো volume-এ render করেন।
  • Interactive flow-এর জন্য single-digit-millisecond rendering দরকার, যেমন send-এর আগে preview।
  • PDF/A archival compliance বা EU Factur-X / ZUGFeRD e-invoice output দরকার।
  • Chromium memory pressure, container warm-pool cost বা cold-start timeout cascades নিয়ে ক্লান্ত।
  • Testing বা audit-এর জন্য byte-identical deterministic PDFs চান।
  • Edge-এ render করছেন এবং 3-6 নয়, 300+ regions দরকার।
Puppeteer বাছুন যখন
  • আপনি arbitrary live web pages convert করছেন: landing pages, news articles, marketing snapshots।
  • Document source-of-truth HTML/CSS, browser-এ ঠিক render হয়, এবং JSON-এ reauthor করতে চান না।
  • Rich client-side JavaScript visualisations render করছেন যার real browser দরকার।
  • Volume ছোট, দিনে ১,০০০ render-এর কম, এবং per-render latency বা cost গুরুত্বপূর্ণ নয়।
  • Legal/forensic কারণে on-screen DOM ও PDF-এর pixel-perfect matching দরকার।
সক্ষমতা

gPdf হলো high-volume ইনভয়েস PDF, ডকুমেন্ট, শিপিং লেবেল, বারকোড, PDF/A এবং e-invoice workflow-এর জন্য তৈরি edge-native JSON-to-PDF API। Global edge scale-এ মিলিসেকেন্ড-শ্রেণীর PDF rendering — predictable, industrial-grade document generation-এর জন্য অপ্টিমাইজড। Infrastructure-level pricing, এমন কম খরচে যাতে নিজস্ব PDF infrastructure তৈরি ও চালানোর বিকল্প হিসেবে ভাবা যায়।

সক্ষমতা

Product যদি web page হয়, Puppeteer দারুণ

Puppeteer আসল Chromium browser চালায়। এটিই তার শক্তি। Source of truth যদি existing HTML page, JavaScript chart-সহ dashboard, rendered web app-এর legal snapshot বা screenshot-style export হয়, Puppeteer প্রায়ই সঠিক product choice।

প্রশ্ন হলো আপনার PDF সত্যিই web page কিনা, নাকি structured business document। Invoice, label, statement, receipt, ticket ও form সাধারণত data থেকে আসে, live DOM থেকে নয়। সে ক্ষেত্রে whole browser চালানো document-এর দরকারের তুলনায় বেশি architecture হতে পারে।

Same artifact, কিন্তু পণ্যসীমা আলাদা

Puppeteer Chromium দিয়ে HTML-কে printed PDF-এ বদলায়। Application HTML template, CSS print rule, font installation, browser runtime, worker capacity, retry এবং regional deployment own করে।

gPdf structured JSON সরাসরি PDF-এ বদলায়। Application DocumentRequest বা template_id + data পাঠায়; edge renderer layout execution, bundled font, barcode primitive, PDF/A profile ও e-invoice packaging own করে। Browser process নেই, CSS cascade নেই, warm Chromium container নেই।

কোন কাজে মানায়: web capture বনাম document generation

Document-কে existing web page-এর মতোই দেখতে হলে বা client-side JavaScript final visual state বানালে Puppeteer বেছে নিন। Web archive, dynamic dashboard, DOM-heavy report এবং JSON-এ reauthor করলে বেশি risk তৈরি হবে এমন কাজের ধারা এর মধ্যে পড়ে।

Product যদি document generation হয়, gPdf বেছে নিন: label, invoice, ticket, statement, certificate, receipt বা compliance package, যা clean data থেকে প্রতিবার একইভাবে তৈরি হওয়া উচিত।

ডেভেলপমেন্ট সময়: HTML print debugging বনাম API template

HTML আগে থেকেই থাকলে Puppeteer দ্রুত start করে। ডেভেলপমেন্ট সময় পরে আসে: print CSS, page-break behavior, container-এ font installation, header/footer edge case, barcode sizing এবং browser version drift।

gPdf structured template থেকে start করে। Team JSON লিখতে পারে, AI দিয়ে schema-valid layout draft করতে পারে, অথবা gPdf Studio-তে text, table, image, shape, header, footer ও barcode visually add/drag করতে পারে। Template save হলে production call template_id + data থাকে।

দামের মডেল: free automation library বনাম operated browser fleet

Puppeteer-এর license fee নেই। তাই production Puppeteer PDF service free — এটা ঠিক নয়।

Chromium ঘিরে service cost surface তৈরি হয়:

  • Browser binary-এর জন্য container বা serverless runtime.
  • Cold start absorb করতে warm pool বা queueing.
  • Page, font, image ও PDF bytes-এর জন্য memory headroom.
  • Warehouse বা customer global হলে regional deployment.
  • Monitoring, retry, browser upgrade ও security patch.

gPdf PDF generation surface সরাসরি price করে। Basic plan মাসে ৫ USD-তে ১ লাখ পৃষ্ঠা থেকে শুরু, public per-page math প্রতি পৃষ্ঠা ০.০০০০৫ USD। Seat নেই, আলাদা test/prod environment fee নেই, operate করার Chromium pool নেই।

Edge generation latency ও cost shape বদলে দেয়

Puppeteer-এ browser সাধারণত আপনি যেখানে host করেন সেখানে থাকে। Warehouse, customer বা backend job ওই region থেকে দূরে হলে render path-এ network latency ও browser work দুটোই থাকে। Region যোগ মানে browser service, deployment pipeline, monitoring ও capacity plan duplicate করা।

gPdf Cloudflare Workers V8 isolates-এ চলে। Structured PDF-এর জন্য renderer caller-এর কাছে run করার মতো ছোট। Business effect শুধু faster p50 নয়; regional Chromium fleet সরিয়ে দেওয়াও।

Product capabilities যা comparison ঠিক করে

Operational document-এ feature list raw speed-এর মতোই গুরুত্বপূর্ণ:

  • Label, ticket ও warehouse document-এর জন্য native barcode elements.
  • Bundled CJK ও multilingual font fallback.
  • Archive কাজের ধারার জন্য PDF/A output profiles.
  • Factur-X/ZUGFeRD e-invoice packaging.
  • Higher tiers-এ password-protected PDFs ও metadata controls.
  • gPdf Studio দিয়ে visual layout iteration.

Puppeteer page code, browser setup বা post-processing দিয়ে এসবের অনেক কিছু করতে পারে। প্রশ্ন হলো আপনার team ওই stack own করতে চায় কিনা।

কখন Puppeteer এখনো সঠিক উত্তর

একটি category আছে যেখানে gPdf compete করে না: arbitrary HTML-to-PDF conversion। Document আগে থেকেই rendered হলে, design-এর সত্যের উৎস HTML হলে, এবং JavaScript execute বা DOM match করতে real browser দরকার হলে Puppeteer সঠিক tool।

Workload ছোট এবং latency গুরুত্বপূর্ণ না হলে operational cost acceptable হতে পারে। দিনে কয়েকটি internal export stable HTML-কে JSON-এ reauthor করার কারণ নয়।

মাইগ্রেশনের রূপ

Puppeteer থেকে invoice বা label workload gPdf-এ আনলে migration সাধারণত এমন:

- // Before: render an HTML template through Chromium
- const browser = await puppeteer.launch({ headless: 'new' });
- const page = await browser.newPage();
- await page.setContent(invoiceHtml);
- const pdf = await page.pdf({ format: 'A4' });
+ // After: POST the structured DocumentRequest
+ const res = await fetch('https://api.gpdf.com/api/v1/template-render', {
+   method: 'POST',
+   headers: { Authorization: `Bearer ${KEY}`, 'Content-Type': 'application/json' },
+   body: JSON.stringify({ template_id: 'invoice-v2', data }),
+ });
+ const pdf = Buffer.from(await res.arrayBuffer());

কাজটি API call নয়; template একবার author করা। এরপর প্রতিটি render একটি HTTPS POST।

সম্পর্কিত PDF তৈরির ব্যবহারক্ষেত্র

Puppeteer ও gPdf তুলনা করলে সত্যের উৎস দিয়ে শুরু করুন। Live HTML, JavaScript dashboard বা screenshot-style PDF দরকার হলে Puppeteer ঠিক tool। কিন্তু structured data থেকে invoice PDF, shipping label বা barcode PDF বানালে JSON to PDF API বেশি সরাসরি পথ। Compliance দরকার হলে PDF/A APIFactur-X API browser rendering-এর বাইরে আলাদা decision তৈরি করে।

FAQ

Puppeteer কি free?

Puppeteer library হিসেবে free। Production-এ cost হলো browser service: containers, memory, cold starts, regional capacity, monitoring, retries ও maintenance।

gPdf কি arbitrary HTML pages render করতে পারে?

না। gPdf JSON-native। Source of truth যদি arbitrary HTML বা live web page হয়, Puppeteer ভালো fit।

Studio-কে Puppeteer-এর সঙ্গে compare কেন?

অনেক team HTML ব্যবহার করে কারণ designer ও developer result দেখতে পারে। gPdf Studio structured PDF template-কে visual editing surface দেয়, runtime-কে browser বানানো ছাড়াই।

আরও পড়ুন