Gộp, tách PDF, đóng dấu chìm online
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.
Kết quả
Bấm “Chạy” để xem kết quả.
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.
Dùng trong code của bạn
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));Tài liệu API → Nhận API key miễn phí
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.