Thêm nhận xét nhanh trực tiếp vào tài liệu Word là một yêu cầu phổ biến cho các quy trình xem xét hợp tác. GroupDocs.Annotation Cloud SDK for Node.JS cho phép bạn thêm các chú thích phong phú một cách lập trình mà không rời khỏi môi trường máy chủ của mình. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách tạo Sticky Notes trên các trang Word trong Node.JS, bao gồm cài đặt, hướng dẫn chi tiết, ví dụ mã hoàn chỉnh và các lệnh cURL tương đương.
Cài đặt GroupDocs.Annotation Cloud SDK for Node.JS
Trước khi bắt đầu, hãy chắc chắn rằng bạn đã có:
- Node.js 14+ và npm đã được cài đặt
- Một tài khoản GroupDocs cloud với clientId và clientSecret
- Truy cập vào tệp DOCX nguồn mà bạn muốn chú thích
Cài đặt SDK qua npm:
npm install groupdocs-annotation-cloud
Tải xuống gói mới nhất từ trang phát hành chính nếu bạn muốn cài đặt thủ công: GroupDocs.Annotation Cloud SDK for Node.JS Download.
Tạo một đối tượng cấu hình với thông tin xác thực của bạn (trích đoạn từ ví dụ đầy đủ):
const { Configuration } = require("@groupdocs.annotation-cloud");
const config = new Configuration({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET"
});
Khi SDK đã được cài đặt và thông tin xác thực đã sẵn sàng, chúng ta có thể chuyển sang việc triển khai.
Tạo Ghi chú Dán trên các Trang Word trong Node.JS: Hướng dẫn Từng Bước
Trong hướng dẫn này, chúng ta sẽ tạo Ghi chú dính trên các trang Word trong Node.JS bằng cách sử dụng các lớp chú thích của SDK.
Bước 1: Khởi tạo Annotation API
Đầu tiên, nhập các lớp cần thiết và tạo một thể hiện của AnnotateApi.
const { AnnotateApi, models } = require("@groupdocs.annotation-cloud");
const annotateApi = new AnnotateApi(config);
Bước 2: Xác định Tệp nguồn và Tệp đích
Xác định tệp DOCX đầu vào và đường dẫn cho đầu ra đã được chú thích.
const inputFilePath = "sample.docx";
const outputFilePath = "sample_annotated.docx";
const fileInfo = new models.FileInfo();
fileInfo.filePath = inputFilePath;
Bước 3: Đặt vị trí ghi chú dính
Tạo một Rectangle xác định vị trí mà ghi chú dính sẽ xuất hiện trên trang 1.
const rect = new models.Rectangle();
rect.x = 100; // distance from left edge (points)
rect.y = 100; // distance from top edge (points)
rect.width = 200; // width of the sticky note
rect.height = 100; // height of the sticky note
Bước 4: Xây dựng Đối tượng chú thích Sticky Note
Cấu hình loại chú thích, số trang, hình chữ nhật, văn bản và màu nền.
const stickyNote = new models.AnnotationInfo();
stickyNote.annotationType = "StickyNote";
stickyNote.pageNumber = 1;
stickyNote.rect = rect;
stickyNote.text = "This is a sticky note added via GroupDocs.Annotation Cloud SDK.";
stickyNote.color = "FFFF00"; // Yellow background
Bước 5: Thực hiện Yêu cầu Ghi chú
Tập hợp các tùy chọn yêu cầu và gọi phương thức annotate.
const annotateOptions = new models.AnnotateOptions();
annotateOptions.fileInfo = fileInfo;
annotateOptions.annotations = [stickyNote];
annotateOptions.outputPath = outputFilePath;
(async () => {
try {
const request = new models.AnnotateRequest(annotateOptions);
const response = await annotateApi.annotate(request);
console.log("Sticky note created successfully. Output saved to:", response.path);
} catch (err) {
console.error("Failed to create sticky note:", err);
}
})();
Ví dụ Hoạt động đầy đủ để Tạo Ghi chú Dán trên các Trang Word trong Node.JS
Ví dụ sau đây trình bày việc triển khai đầy đủ để tạo Ghi chú dính trên các trang Word trong Node.JS bằng cách sử dụng GroupDocs.Annotation Cloud SDK.
const { AnnotateApi, Configuration, models } = require("@groupdocs.annotation-cloud");
// -----------------------------------------------------------------------------
// Configuration – replace with your actual GroupDocs credentials
// -----------------------------------------------------------------------------
const config = new Configuration({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET"
});
const annotateApi = new AnnotateApi(config);
// -----------------------------------------------------------------------------
// Define input and output files
// -----------------------------------------------------------------------------
const inputFilePath = "sample.docx";
const outputFilePath = "sample_annotated.docx";
// -----------------------------------------------------------------------------
// Build FileInfo object for the source document
// -----------------------------------------------------------------------------
const fileInfo = new models.FileInfo();
fileInfo.filePath = inputFilePath;
// -----------------------------------------------------------------------------
// Define rectangle (position & size) for the sticky note on page 1
// -----------------------------------------------------------------------------
const rect = new models.Rectangle();
rect.x = 100; // distance from left edge (points)
rect.y = 100; // distance from top edge (points)
rect.width = 200; // width of the sticky note
rect.height = 100; // height of the sticky note
// -----------------------------------------------------------------------------
// Create the sticky‑note annotation
// -----------------------------------------------------------------------------
const stickyNote = new models.AnnotationInfo();
stickyNote.annotationType = "StickyNote";
stickyNote.pageNumber = 1;
stickyNote.rect = rect;
stickyNote.text = "This is a sticky note added via GroupDocs.Annotation Cloud SDK.";
stickyNote.color = "FFFF00"; // Yellow background
// -----------------------------------------------------------------------------
// Assemble the annotate request options
// -----------------------------------------------------------------------------
const annotateOptions = new models.AnnotateOptions();
annotateOptions.fileInfo = fileInfo;
annotateOptions.annotations = [stickyNote];
annotateOptions.outputPath = outputFilePath;
// -----------------------------------------------------------------------------
// Execute the request
// -----------------------------------------------------------------------------
(async () => {
try {
const request = new models.AnnotateRequest(annotateOptions);
const response = await annotateApi.annotate(request);
console.log("Sticky note created successfully. Output saved to:", response.path);
} catch (err) {
console.error("Failed to create sticky note:", err);
}
})();
Lưu ý: Ví dụ mã này minh họa chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật mọi đường dẫn tệp và giá trị cấu hình để phù hợp với môi trường thực tế của bạn, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển. Nếu bạn gặp bất kỳ vấn đề nào, vui lòng tham khảo tài liệu chính thức hoặc liên hệ với đội hỗ trợ để được trợ giúp.
Thêm chú thích Sticky Note bằng cURL và REST API
API REST cung cấp cùng khả năng mà không cần viết mã. Dưới đây là các lệnh cURL cần thiết.
Đầu tiên, lấy một token truy cập:
curl -X POST "https://api.groupdocs.cloud/v2.0.0/auth/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
Tải lên tệp DOCX nguồn (thay thế YOUR_ACCESS_TOKEN bằng token từ bước trước):
curl -X PUT "https://api.groupdocs.cloud/v2.0.0/storage/file/sample.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary @sample.docx
Tạo chú thích ghi chú dính:
curl -X POST "https://api.groupdocs.cloud/v2.0.0/annotation/annotate" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileInfo": { "filePath": "sample.docx" },
"annotations": [
{
"annotationType": "StickyNote",
"pageNumber": 1,
"rect": { "x": 100, "y": 100, "width": 200, "height": 100 },
"text": "This is a sticky note added via GroupDocs.Annotation Cloud SDK.",
"color": "FFFF00"
}
],
"outputPath": "sample_annotated.docx"
}'
Tải xuống tài liệu đã chú thích:
curl -X GET "https://api.groupdocs.cloud/v2.0.0/storage/file/sample_annotated.docx?download=true" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o sample_annotated.docx
Để biết thêm chi tiết về payload của yêu cầu, xem tài liệu API.
Cấu hình các tùy chọn chú thích cho Sticky Notes
SDK cung cấp một số thuộc tính cho phép bạn tinh chỉnh giao diện và hành vi của ghi chú dính:
- annotationType - phải được đặt thành
"StickyNote"(bắt buộc). - pageNumber - trang mà ghi chú sẽ xuất hiện.
- rect - xác định vị trí (
x,y) và kích thước (width,height). Điều chỉnh các giá trị này để kiểm soát vị trí. - text - nội dung ghi chú.
- color - màu nền ở dạng HEX (ví dụ,
"FFFF00"cho màu vàng).
Bạn cũng có thể đặt các trường tùy chọn như author, fontFamily, hoặc opacity thông qua mô hình AnnotationInfo. Tham khảo tài liệu API để biết danh sách đầy đủ các thuộc tính có thể cấu hình.
Kết luận
Bằng cách làm theo các bước trên, bạn đã biết cách tạo Sticky Notes trên các trang Word trong Node.JS bằng cách sử dụng GroupDocs.Annotation Cloud SDK. Cho dù bạn thích triển khai Node.js gốc hay quy trình làm việc dựa trên REST‑cURL, SDK cung cấp một cách nhất quán và đáng tin cậy để chú thích các tệp DOCX một cách lập trình. Hãy nhớ áp dụng giấy phép hợp lệ cho môi trường sản xuất; bạn có thể lấy giấy phép tạm thời từ trang giấy phép hoặc xem các tùy chọn giá trên trang sản phẩm. Chúc bạn chú thích vui vẻ!
Câu hỏi thường gặp
Làm thế nào để tạo Sticky Notes trên các trang Word trong Node.JS bằng GroupDocs.Annotation Cloud SDK?
Sử dụng AnnotateApi như được minh họa trong ví dụ mã. SDK sẽ tự động xử lý việc truy cập tệp, tạo chú thích và tạo ra đầu ra.Các định dạng tệp nào được hỗ trợ cho chú thích với SDK?
SDK hỗ trợ DOCX, PDF, PPTX, XLSX, và nhiều định dạng phổ biến khác. Xem danh sách đầy đủ trong tài liệu chính thức.Làm thế nào để xác thực khi sử dụng REST API cho ghi chú dính?
Nhận token truy cập thông qua endpoint/auth/tokenbằng cách sử dụng thông tin xác thực client của bạn, sau đó bao gồm token trong headerAuthorization: Bearercho tất cả các cuộc gọi tiếp theo. Các bước chi tiết có trong API reference.Tôi có thể tùy chỉnh màu hoặc kích thước của ghi chú dính không?
Có. Đặt thuộc tínhcolorthành giá trị HEX và điều chỉnh kích thướcrect(width,height) để kiểm soát kích thước và vị trí của ghi chú.
