Thai HTML→PDF API Kit

HTML→PDF ที่ภาษาไทยไม่เพี้ยน พร้อม template ใบกำกับภาษีไทย

ซอร์สโค้ด API สำเร็จรูป (FastAPI + xhtml2pdf) ที่ฝังฟอนต์ Sarabun ให้เอง — สั่งเรนเดอร์ปุ๊บ ได้ PDF ที่อ่านภาษาไทยได้ทุกบรรทัด รวมตัวอย่างใบกำกับภาษี (เลขผู้เสียภาษี + VAT 7%) ที่ render ผ่านจริง สิ่งที่ global API อย่าง DocRaptor/PDFShift ไม่มีให้

ซื้อ kit — ฿1,990
ชำระครั้งเดียว · ซอร์สโค้ดทั้งชุด · self-host ได้ ไม่จำกัดจำนวนเอกสาร

ปัญหาของคนทำเอกสารไทย (ที่เราเจอมาเอง)

Global API vs Thai PDF API Kit

Global API (DocRaptor / PDFShift ฯลฯ)Thai PDF API Kit
ฟอนต์ไทย ไม่มีให้ — ต้องหา/อัปโหลดฟอนต์และ debug เอง มีใน kit — Sarabun Regular + Bold ฝังใน PDF อัตโนมัติ
Template ใบกำกับภาษีไทย ไม่มี — เขียนเองตั้งแต่ต้น มีพร้อมใช้ — ตัวอย่างที่มีเลขผู้เสียภาษี + VAT 7% render ผ่านแล้ว
ค่าใช้จ่าย จ่ายต่อเดือน/ต่อเอกสาร ตลอดอายุระบบ จ่ายครั้งเดียว ฿1,990 — self-host ไม่จำกัด render
ข้อมูลเอกสาร ส่งผ่านเซิร์ฟเวอร์ผู้ให้บริการทุกครั้ง อยู่กับคุณ — รันบนเครื่อง/เซิร์ฟเวอร์ของคุณเอง
แก้โค้ดเองได้ ไม่ได้ — ใช้เท่าที่ผู้ให้บริการให้ ได้ทั้งหมด — pure-Python อ่าน/แก้/ต่อยอดได้เต็มที่

ของที่ได้ในไฟล์ zip (ตรงตัวทุกไฟล์)

app.py

API เซิร์ฟเวอร์ (FastAPI)

3 endpoints: /health, POST /render, GET /render/base64-sample — พร้อม free-tier rate limit 30 ครั้ง/ชั่วโมง (ตั้งค่าเองได้)

fonts/

ฟอนต์ Sarabun 2 ไฟล์

Sarabun-Regular.ttf + Sarabun-Bold.ttf (ไลเซนส์ OFL จาก Google Fonts — ใช้เชิงพาณิชย์/ฝังใน PDF ได้) พร้อม fonts.py ที่ลงทะเบียนให้อัตโนมัติ

sample.py

ใบกำกับภาษีไทย

HTML template ใบกำกับภาษี/ใบเสร็จ มีเลขผู้เสียภาษีผู้ขาย-ผู้ซื้อ และบรรทัด VAT 7% — เป็นตัวอย่างตั้งต้นให้แก้เป็นของร้านคุณ

test_api.py

Integration test 6 ข้อ

ทดสอบ health / PDF จริง (%PDF) / ฝังฟอนต์ / rate limit / validation — รันยืนยันว่าระบบพร้อมใช้ทุกครั้งหลัง deploy

examples/

invoice-th.html

ตัวอย่างใบกำกับที่ render ผ่านจริง ใช้เป็นพื้นฐานปรับแก้ได้ทันที

docs

คู่มือครบ

README-buyer.md (quickstart 10 นาที) + DEPLOY.md (Fly.io / Railway / VPS + custom domain) + LICENSE.txt (สิทธิ์การใช้งานเชิงพาณิชย์)

ใช้จริงใน 3 ขั้น

  1. ติดตั้ง (ต้องมี Python 3.10+)

    # แตกไฟล์ zip แล้วสั่ง 2 บรรทัด
    python3 -m venv .venv
    .venv/bin/pip install -r requirements.txt
  2. เปิดเซิร์ฟเวอร์

    .venv/bin/uvicorn app:app --port 8642
  3. ได้ PDF ใบกำกับภาษีไทยไฟล์แรก

    # endpoint เดโม: คืน HTML ใบกำกับ + PDF base64
    curl -s localhost:8642/render/base64-sample \
      | jq -r .pdf_base64 | base64 -d > invoice.pdf

หรือเรนเดอร์ HTML ของคุณเองด้วย POST /render:

curl -s -X POST localhost:8642/render \
  -H "Content-Type: application/json" \
  -d '{"html": "<h1>ใบเสร็จรับเงิน</h1><p>ลูกค้า: บริษัท ไทย จำกัด</p>",
       "filename": "receipt.pdf"}' \
  -o receipt.pdf   # → ไฟล์ PDF ที่ตัวอักษรไทยถูกต้อง

โค้ดหัวใจของระบบ (สั้น ๆ อ่านจบ)

การเรนเดอร์ฝังฟอนต์ Sarabun ทั้งหมดมาจากบรรทัดนี้ (ฉบับเต็มอยู่ใน kit):

status = pisa.CreatePDF(req.html, dest=buf, default_css=BASE_CSS, encoding="utf-8")
# BASE_CSS = @font-face ชี้ไฟล์ Sarabun-Regular/Bold.ttf + กระดาษ A4 margin 1.8cm
# ทุก PDF ที่ออกมาจะฝังฟอนต์ไทยในไฟล์ — เปิดที่เครื่องไหนก็อ่านได้ ไม่ต้องพึ่งฟอนต์เครื่องผู้อ่าน

คำถามที่พบบ่อย

HTML แบบไหนใช้ได้บ้าง — ทำหน้า landing สวย ๆ ได้ไหม?
เอาตรง ๆ ครับ: เอนจินคือ xhtml2pdf รองรับ HTML/CSS ระดับเอกสารธุรกิจ — ตาราง ตัวหนา สีพื้น ขนาดฟอนต์ — ซึ่งเพียงพอกับใบกำกับ/ใบเสร็จ/ใบส่งของ/เอกสารราชการ แต่ไม่รองรับ flexbox, grid และ border-collapse ถ้าเอกสารคุณเป็น layout แบบ web ที่ซับซ้อน ตัวนี้ไม่ใช่คำตอบ (ใช้ <table width="100%"> ตามตัวอย่างใน kit แทน) เราขายสำหรับเอกสาร ไม่ใช่ poster
Self-host ต้องมีอะไรบ้าง?
Python 3.10+ กับพื้นที่เล็กน้อยเท่านั้น (pure-Python ไม่ต้อง compile) รันบนเครื่อง dev ได้เลย หรือ deploy บน Fly.io / Railway (~$5/เดือน) หรือ VPS ของคุณ — DEPLOY.md ที่แนบมามีขั้นตอนครบถึงการตั้ง custom domain
ใบกำกับที่ได้ใช้ขึ้นทะเบียนได้จริงไหม?
ใน kit เป็น template ตั้งต้น (รูปแบบ ฟอนต์ เลขผู้เสียภาษี VAT 7%) ไม่ใช่ระบบ e-Tax Invoice ที่ผ่านการรับรองตามข้อกำหนดของกรมสรรพากร — ควรให้ผู้บัญชีตรวจรูปแบบก่อนใช้จริงกับธุรกิจของคุณ
ฟอนต์ Sarabun ใช้เชิงพาณิชย์ได้จริงไหม?
ได้ — Sarabun เผยแพร่ภายใต้ SIL Open Font License จาก Google Fonts ใช้ในเอกสารเชิงพาณิชย์และฝังใน PDF ที่คุณขาย/ออกให้ลูกค้าได้
ซื้อแล้วใช้กับลูกค้าหลายรายได้ไหม? ขายต่อได้ไหม?
ไลเซนส์คือ ผู้ซื้อ 1 ราย (บริษัท/บุคคลเดียว) ใช้สร้างเอกสารเชิงพาณิชย์และต่อยอดในผลิตภัณฑ์ของตัวเองได้เต็มที่ แต่ห้ามขายต่อ/แจกจ่ายซอร์สโค้ดเป็นสินค้าแข่งกับเรา — รายละเอียดอยู่ใน LICENSE.txt
จ่ายแล้วได้ไฟล์ยังไง?
ชำระผ่าน Stripe (บัตร / PromptPay / Apple Pay) แล้วระบบพาไปหน้าตั้งรหัสผ่าน จากนั้นดาวน์โหลด zip ได้ทันที — กลับมาดาวน์โหลดซ้ำภายหลังได้ที่หน้า /thanks ด้วยอีเมล+รหัสผ่านที่ตั้งไว้

เปิดเซิร์ฟเวอร์ครั้งแรกภายใน 10 นาที — ได้ใบกำกับภาษีไทยเป็น PDF

ชำระครั้งเดียว ฿1,990 · ซอร์สโค้ดทั้งชุด · self-host ไม่จำกัดเอกสาร

ซื้อ Thai PDF API Kit