Files
SnapOtter/apps/docs/vi/tools/pdf/sign-pdf.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

3.4 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Đóng dấu các hình ảnh chữ ký được tải lên lên một PDF bằng các vị trí trang được chuẩn hóa. c28f78c2e7fd human 11eaf0d4b6aa

Sign PDF

Đóng dấu một hoặc nhiều hình ảnh chữ ký PNG được tải lên lên bất kỳ trang nào của một PDF. Tuyến này dùng một hợp đồng multipart tùy chỉnh vì nó cần PDF, một hoặc nhiều hình ảnh chữ ký, và tọa độ vị trí.

API Endpoint

POST /api/v1/tools/pdf/sign-pdf

Chấp nhận dữ liệu biểu mẫu multipart. PDF được gửi dưới dạng file; chữ ký được gửi dưới dạng sig0, sig1, và cứ thế; vị trí được gửi trong một trường JSON placements.

Parameters

Tham số Kiểu Bắt buộc Mặc định Mô tả
file file - Tệp PDF cần ký
sig0 file - Hình ảnh chữ ký đầu tiên. Các hình ảnh bổ sung dùng sig1, sig2, và cứ thế
placements JSON string - Mảng các đối tượng vị trí: { "sig": 0, "page": 0, "x": 0.2, "y": 0.7, "w": 0.25, "h": 0.08 }
clientJobId string Không - UUID tùy chọn để theo dõi tiến độ qua SSE
fileId string Không - ID thư viện tệp tùy chọn để lưu kết quả đã ký thành một phiên bản mới

Placement Coordinates

Trường Kiểu Mô tả
sig integer Chỉ mục hình ảnh chữ ký. 0 ánh xạ tới sig0
page integer Chỉ mục trang PDF tính từ 0
x number Vị trí trái theo tỷ lệ trang
y number Vị trí trên cùng theo tỷ lệ trang
w number Chiều rộng chữ ký theo tỷ lệ trang
h number Chiều cao chữ ký theo tỷ lệ trang

Tọa độ dùng gốc trên-trái. Các giá trị có thể tràn nhẹ ra ngoài mép trang; trình kết xuất PDF cắt con dấu cuối cùng theo trang.

Example Request

curl -X POST http://localhost:1349/api/v1/tools/pdf/sign-pdf \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@contract.pdf" \
  -F "sig0=@signature.png" \
  -F 'placements=[{"sig":0,"page":0,"x":0.64,"y":0.82,"w":0.22,"h":0.08}]'

Example Response

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/contract_signed.pdf",
  "previewUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/preview.png",
  "originalSize": 245000,
  "processedSize": 249000
}

Nếu yêu cầu không thể hoàn thành trong cửa sổ chờ đồng bộ, API trả về:

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "async": true
}

Kết nối tới /api/v1/jobs/<jobId>/progress và tải xuống kết quả khi công việc hoàn thành.

Notes

  • Định dạng đầu vào PDF được chấp nhận: .pdf.
  • Hình ảnh chữ ký phải là các tệp hình ảnh hợp lệ, thường là PNG có độ trong suốt.
  • Chấp nhận tối đa 100 hình ảnh chữ ký và 100 vị trí.
  • sign-pdf là một tuyến tùy chỉnh và không dùng trường JSON settings công cụ tiêu chuẩn.