Trích văn bản từ PDF API
Lấy lớp chữ của file PDF theo từng trang (giữ đúng tiếng Việt Unicode), kèm thông tin tài liệu, số từ và cảnh báo khi file là bản scan.
API trích văn bản đọc lớp chữ của file PDF bằng bộ máy PDF.js và trả về theo từng trang (pages: [{ page, text }]) hoặc gộp thành một chuỗi với merge=true. Văn bản tiếng Việt từ Word, LibreOffice, phần mềm hoá đơn hay các API PDF của chúng tôi được trả về đúng Unicode. Dùng pages=2-4 để chỉ lấy một số trang.
Kết quả còn có thông tin tài liệu (tiêu đề, tác giả, phần mềm tạo), tổng số trang, số ký tự và số từ. Khi có trang hoàn toàn không có chữ, trường note cảnh báo file có vẻ là bản scan: PDF loại này chỉ chứa hình ảnh, cần OCR, mà API này không thực hiện.
Mặc định đọc tối đa 500 trang mỗi lần gọi (max_pages, tối đa 2.000), trong giới hạn dung lượng tệp của gói. PDF có mật khẩu bị từ chối. Bố cục (cột, bảng) được trải phẳng thành các dòng chữ.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
file | body | file | có | File PDF (multipart, body thô hoặc file_base64). | |
pages | query|body | string | không | Các trang cần lấy, ví dụ 1-3,5. | |
merge | query|body | boolean | không | false | true: trả một chuỗi text thay cho pages. |
max_pages | query|body | number | không | 500 | Từ chối tài liệu dài hơn nếu không có pages (1–2000). |
Ví dụ
curl -X POST "https://apibox.io.vn/v1/pdf-text" \
-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-text', {
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-text",
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-text');
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_total": 1,
"pages_returned": 1,
"info": {
"title": "Báo giá",
"author": null,
"creator": "apibox.io.vn",
"producer": "APIBox md-pdf"
},
"characters": 137,
"words": 32,
"pages": [
{
"page": 1,
"text": "Báo giá dịch vụ\nKính gửi Quý khách,\nCông ty xin gửi báo giá gói API Pro: 15 USD / tháng.\nĐiều khoản\nThanh toán trong 7 ngày.\n1 / 1Báo giá"
}
]
}
Ứng dụng
- Đánh chỉ mục tài liệu PDF tải lên để tìm kiếm
- Đọc số tiền, số chứng từ trong hoá đơn PDF
- Đưa hợp đồng, báo cáo vào quy trình AI
- Kiểm tra file PDF tạo ra có đúng nội dung mong đợi
Hỏi đáp
Có đọc được tài liệu scan không?
Không. PDF scan chỉ chứa hình ảnh; API nhận ra và báo trong note. Loại file này cần OCR.
Bố cục bảng có được giữ không?
Không, chữ được trả về từng dòng theo thứ tự đọc. Bảng thành các dòng chứa giá trị của ô.
Giới hạn số trang là bao nhiêu?
Mặc định 500 trang, tối đa 2.000 với max_pages, và theo dung lượng tệp của gói.
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.