Công cụ PDF API
Gộp nhiều file PDF, trích hoặc tách trang, xoay trang, đóng dấu chìm chéo trang hay đánh số trang (hỗ trợ chữ tiếng Việt) trong một API duy nhất.
Một endpoint với nhiều action. merge ghép tối đa 20 file PDF theo thứ tự (multipart file1, file2… hoặc mảng files_base64). extract tạo PDF mới từ các trang trong pages, ví dụ 1-3,5,8-last (lấy đúng thứ tự đã ghi, nên 3,1 sẽ đảo trang). split cắt tài liệu cứ N trang một phần (every) hoặc theo khoảng (ranges=1-3;4-6) và trả về file ZIP chứa các phần. rotate xoay trang 90, 180 hoặc 270 độ. info (mặc định) trả về số trang, tiêu đề, phần mềm tạo và khổ giấy.
watermark in dòng chữ chéo mờ (text, độ đậm opacity 0,03–1, mặc định 0,15) lên từng trang, cỡ chữ tự co theo trang; page_numbers ghi số trang theo mẫu như Trang {n}/{total} (format, vị trí position top / bottom kết hợp left / center / right, số bắt đầu start). Cả hai dùng font Be Vietnam Pro nên “BẢN NHÁP” hay “Trang 1/5” hiển thị đúng dấu. Mọi action trừ merge đều nhận pages để chỉ xử lý một phần tài liệu.
Kết quả là file PDF đã xử lý (ZIP với split, JSON với info). PDF có mật khẩu bị từ chối; file được xử lý trong bộ nhớ theo giới hạn dung lượng của gói.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
action | query|body | string | không | info | merge, extract, split, rotate, watermark, page_numbers hoặc info. |
file | body | file | có | File PDF (multipart, body thô hoặc file_base64). Với merge: file1, file2… (tới file10) hoặc files_base64 (mảng, tối đa 20). | |
pages | query|body | string | không | Các trang, ví dụ 1-3,5,8-last. Bắt buộc với extract; với rotate / watermark / page_numbers dùng để giới hạn trang (mặc định: tất cả). | |
every | query|body | number | không | 1 | split: số trang mỗi phần. |
ranges | query|body | string | không | split: các phần ngăn bởi ;, ví dụ 1-3;4-6 (tối đa 200 phần). | |
angle | query|body | number | không | 90 | rotate: 90, 180 hoặc 270 (nhận cả -90). |
text | query|body | string | không | watermark: nội dung dấu chìm (bắt buộc, tối đa 100 ký tự). | |
opacity | query|body | number | không | 0.15 | watermark: 0,03–1. |
format | query|body | string | không | {n} / {total} | page_numbers: mẫu nhãn có {n} và {total}. |
position | query|body | string | không | bottom-center | page_numbers: top- hoặc bottom- kết hợp left, center, right. |
start | query|body | number | không | 1 | page_numbers: số bắt đầu. |
Ví dụ
curl -X POST "https://apibox.io.vn/v1/pdf-tools" \
-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-tools', {
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-tools",
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-tools');
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));Kết quả trả về
{
"pages": 1,
"title": "Báo giá",
"author": null,
"producer": "APIBox md-pdf",
"page_size_pt": {
"width": 595,
"height": 842
},
"actions": [
"merge",
"extract",
"split",
"rotate",
"watermark",
"page_numbers",
"info"
]
}
Ứng dụng
- Gộp hoá đơn và phụ lục thành một file PDF
- Đóng dấu “BẢN NHÁP”, “MẬT” lên bản dự thảo
- Đánh số trang cho báo cáo tạo tự động
- Tách tập hồ sơ scan thành từng file riêng
Hỏi đáp
Chọn trang thế nào?
pages=1-3,5,8-last; khoảng có thể đi ngược (5-1) và các trang được lấy theo đúng thứ tự đã ghi.
Có mở được PDF có mật khẩu không?
Không. Hãy gỡ mật khẩu trước, nếu không API trả lỗi invalid_pdf.
Có nén giảm dung lượng PDF không?
Không, các trang được sao chép nguyên vẹn. API dùng để gộp, tách và đánh dấu tài liệu.
API liên quan
Metadata ảnh & EXIF
Đọc kích thước, định dạng, thông tin EXIF máy ảnh, thông số chụp và vị trí GPS của ảnh JPEG, PNG, WebP, HEIC, AVIF, GIF… – upload file hoặc qua URL.
PDFMetadata PDF
Đọc metadata file PDF: số trang, tiêu đề, tác giả, phần mềm tạo, ngày tạo, phiên bản PDF, mã hoá, số trường form và khổ giấy từng trang (A4, Letter…).
PDF₫Tạo PDF báo giá, phiếu thu
Tạo PDF báo giá, phiếu thu, đơn đặt hàng, hoá đơn bán hàng gọn đẹp từ JSON: tiếng Việt chuẩn, thuế GTGT, số tiền bằng chữ và mã VietQR để thanh toán.