Puppeteer rất tốt khi sản phẩm là một trang web
Puppeteer điều khiển một browser Chromium thật. Đó là sức mạnh của nó. Nếu nguồn chuẩn là một trang HTML có sẵn, một dashboard có chart JavaScript, snapshot pháp lý của web app đã render, hoặc export kiểu screenshot, Puppeteer thường là lựa chọn sản phẩm đúng.
Câu hỏi sản phẩm là PDF của bạn có thật sự là trang web hay là tài liệu nghiệp vụ có cấu trúc. PDF hóa đơn, nhãn, sao kê, biên nhận, vé và form thường đến từ dữ liệu, không phải từ DOM đang chạy. Với các luồng đó, chạy cả browser có thể là kiến trúc nặng hơn nhu cầu của tài liệu.
Cùng artifact, khác ranh giới sản phẩm
Puppeteer biến HTML thành PDF in ra thông qua Chromium. Ứng dụng sở hữu mẫu HTML, rule CSS print, cài đặt font, runtime browser, năng lực worker, retry và triển khai theo vùng.
gPdf biến JSON có cấu trúc trực tiếp thành PDF. Ứng dụng gửi DocumentRequest hoặc template_id + data; bộ tạo PDF ở edge sở hữu layout execution, font đóng gói sẵn, primitive barcode, profile PDF/A và đóng gói e-hóa đơn. Không có browser process, không có CSS cascade và không có Chromium container cần giữ ấm.
Độ phù hợp sản phẩm: capture web hay tạo tài liệu
Chọn Puppeteer khi tài liệu phải trông đúng như một trang web đã có, hoặc khi JavaScript phía client tạo ra trạng thái hình ảnh cuối cùng. Gồm web archive, dashboard động, report nặng DOM và các quy trình mà việc viết lại layout thành JSON tạo thêm rủi ro hơn là giảm.
Chọn gPdf khi sản phẩm là tạo tài liệu: nhãn, hóa đơn, vé, sao kê, chứng nhận, biên nhận hoặc gói tuân thủ cần được tạo theo cùng một cách từ dữ liệu sạch mỗi lần.
Thời gian phát triển: debug HTML print hay mẫu API
Puppeteer bắt đầu nhanh khi HTML đã có. Thời gian phát triển xuất hiện về sau: CSS cho print, ngắt trang, cài font trong container, case header/footer, kích thước barcode và drift giữa các version browser.
gPdf bắt đầu từ mẫu có cấu trúc. Team có thể viết JSON trực tiếp, dùng AI để phác thảo layout hợp schema, hoặc dùng gPdf Studio để thêm và kéo thả text, table, image, shape, header, footer và barcode trực quan. Khi mẫu đã lưu, production call có thể giữ nguyên template_id + data.
Mô hình giá: thư viện automation miễn phí hay fleet browser phải vận hành
Puppeteer không có phí license. Điều đó không làm một production Puppeteer PDF service trở thành miễn phí.
Bề mặt chi phí nằm ở service quanh Chromium:
- container hoặc serverless runtime cho browser binary.
- warm pool hoặc hàng đợi để hấp thụ cold start.
- Dự phòng bộ nhớ cho page, font, image và PDF bytes.
- Triển khai vùng nếu kho hoặc khách hàng ở nhiều nơi.
- monitoring, retry, browser upgrade và security patch.
gPdf định giá trực tiếp bề mặt tạo PDF. Basic plan bắt đầu từ 5 USD/tháng cho 100.000 trang, và đơn giá công khai bắt đầu từ 0,00005 USD/trang. Không có seat, không có phí riêng cho môi trường test/prod, và không có pool Chromium để vận hành.
Tạo PDF ở edge đổi hình dạng độ trễ và chi phí
Với Puppeteer, browser thường nằm ở nơi bạn host nó. Nếu kho, khách hàng hoặc backend job ở xa region đó, render path gồm cả network latency lẫn công việc browser. Thêm region nghĩa là nhân bản dịch vụ browser, pipeline triển khai, monitoring và capacity plan.
gPdf chạy trên Cloudflare Workers V8 isolate. Với PDF có cấu trúc, bộ tạo PDF đủ nhỏ để chạy gần caller thay vì dồn mọi render về một region. Hiệu quả kinh doanh không chỉ là p50 nhanh hơn; đó là loại bỏ một fleet Chromium theo vùng khỏi sản phẩm.
Những capability thường quyết định cuộc so sánh
Với tài liệu vận hành, danh sách capability quan trọng không kém tốc độ render:
- Element barcode tích hợp sẵn cho nhãn, vé và tài liệu kho.
- font CJK và dự phòng đa ngôn ngữ đóng gói sẵn.
- Profile PDF/A cho quy trình lưu trữ.
- Đóng gói e-hóa đơn Factur-X/ZUGFeRD.
- PDF có mật khẩu và kiểm soát siêu dữ liệu ở tier cao hơn.
- Lặp lại layout trực quan qua gPdf Studio.
Puppeteer có thể hỗ trợ nhiều điểm này bằng page code, thiết lập browser hoặc hậu xử lý. Câu hỏi là nhóm của bạn có muốn sở hữu toàn bộ stack đó hay không.
Khi Puppeteer vẫn là câu trả lời đúng
Có một hạng mục gPdf không cạnh tranh: chuyển HTML tùy ý sang PDF. Nếu document đã được render, nguồn thiết kế là HTML và bạn cần browser thật để chạy JavaScript hoặc khớp DOM, Puppeteer vẫn là công cụ đúng.
Nếu sản lượng nhỏ và độ trễ không quan trọng, chi phí vận hành cũng có thể chấp nhận được. Vài export nội bộ mỗi ngày không đáng để viết lại HTML ổn định thành JSON.
Hình dạng chuyển đổi
Với các nhóm chuyển workload hóa đơn hoặc nhãn từ Puppeteer sang gPdf, chuyển đổi thường trông như:
- // 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());
Công việc không nằm ở API call; mà ở việc author template một lần. Sau đó mỗi lần render chỉ là một HTTPS POST.
Các scenario tạo PDF liên quan
Nếu bạn đang so sánh Puppeteer và gPdf, hãy xem thêm JSON to PDF API, invoice PDF API, shipping label API, GS1 barcode API, PDF/A API và Factur-X API. Puppeteer vẫn hợp với web capture; gPdf hợp hơn khi sản phẩm là document generation từ dữ liệu có cấu trúc.
FAQ
Puppeteer có miễn phí không?
Puppeteer miễn phí như một thư viện. Chi phí production nằm ở dịch vụ browser: container, bộ nhớ, cold start, capacity theo vùng, monitoring, retry và bảo trì.
gPdf có render trang HTML tùy ý không?
Không. gPdf là JSON-tích hợp sẵn. Nếu nguồn thiết kế là HTML tùy ý hoặc trang web đang chạy, Puppeteer phù hợp hơn.
Vì sao so sánh Studio với Puppeteer?
Nhiều nhóm dùng HTML vì có thể nhìn thấy kết quả. gPdf Studio cho mẫu PDF có cấu trúc một bề mặt chỉnh sửa trực quan mà không biến runtime thành browser.
Xem thêm
- Toàn bộ gPdf API reference — endpoint, request shape và errors.
- Edge PDF rendering ở quy mô lớn — phân tích độ trễ dài hơn.
- PDF/A API và Factur-X API — phù hợp nếu mandate e-invoice EU áp dụng cho workload của bạn.