Điền form PDF (AcroForm) online
Liệt kê trường của file PDF điền được, điền từ JSON với tiếng Việt đầy đủ dấu, làm phẳng (flatten) và điền hàng loạt nhiều bản ra file zip.
Kết quả
Bấm “Chạy” để xem kết quả.
Tải lên file PDF có form (AcroForm), API liệt kê các trường: tên, loại (ô chữ, ô đánh dấu, nút chọn, danh sách thả xuống, danh sách chọn, chữ ký, nút bấm), giá trị hiện tại, các lựa chọn, độ dài tối đa và trang, vị trí của từng ô, kèm đối tượng template để điền sẵn. Gửi values dạng {"tên trường": giá trị} để điền: chữ, true / false cho ô đánh dấu, một lựa chọn (hoặc số thứ tự) cho nút chọn và danh sách thả xuống, mảng cho danh sách chọn nhiều.
Hình hiển thị của các trường được vẽ lại bằng font Be Vietnam Pro nhúng trong file, nên chữ có dấu hiển thị đúng trên mọi trình xem (font PDF chuẩn không có dấu tiếng Việt). flatten=true in giá trị vào trang và xóa các trường, cho bản cuối không sửa được. rows điền cùng một form cho từng đối tượng và trả file zip, đặt tên theo filename như don_{ho_ten}.
Tên trường không tồn tại được bỏ qua và báo lại (header x-unknown-fields, hoặc báo lỗi khi strict=true). Form chỉ có XFA và PDF scan không có trường thì không điền được; PDF có mật khẩu bị từ chối. File được xử lý trong bộ nhớ, không lưu lại.
Dùng trong code của bạn
curl -X POST "https://apibox.io.vn/v1/pdf-form" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "0=@./my-file"const form = new FormData();
form.append('0', fileInput.files[0]);
const res = await fetch('https://apibox.io.vn/v1/pdf-form', {
method: 'POST',
headers: { Authorization: 'Bearer YOUR_API_KEY' },
body: form,
});
console.log(await res.json());import requests
res = requests.post(
"https://apibox.io.vn/v1/pdf-form",
headers={"Authorization": "Bearer YOUR_API_KEY"},
files={"0": open("my-file", "rb")},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/pdf-form');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
CURLOPT_POSTFIELDS => ['0' => new CURLFile('my-file')],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Tài liệu API → Nhận API key miễn phí
Hỏi đáp
Vì sao chữ tiếng Việt hiển thị đúng?
Hình hiển thị của trường được vẽ lại bằng font hỗ trợ tiếng Việt nhúng trong file (Be Vietnam Pro, giấy phép OFL) thay cho Helvetica chuẩn vốn không có dấu tiếng Việt.
Làm phẳng (flatten) là gì?
Giá trị đã điền được vẽ thẳng vào nội dung trang và các trường form bị xóa, nên không ai sửa được trên trình xem PDF nữa.
PDF nào không điền được?
PDF scan hoặc PDF phẳng không có trường form, form chỉ dùng XFA (LiveCycle) và file có mật khẩu.