Додавання швидких коментарів безпосередньо в документи Word є поширеною вимогою для спільних процесів перегляду. GroupDocs.Annotation Cloud SDK for Node.JS дозволяє програмно додавати багаті анотації, не виходячи зі свого серверного середовища. У цьому посібнику ми покажемо, як створювати нотатки‑липкі на сторінках Word у Node.JS, охоплюючи налаштування, докладний покроковий процес, повний приклад коду та еквівалентні виклики cURL.
Налаштування GroupDocs.Annotation Cloud SDK for Node.JS
Перш ніж розпочати, переконайтеся, що у вас є:
- Node.js 14+ та npm встановлені
- Обліковий запис GroupDocs cloud з clientId та clientSecret
- Доступ до вихідного файлу DOCX, який ви хочете анотувати
Встановіть SDK за допомогою npm:
npm install groupdocs-annotation-cloud
Завантажте останній пакет з офіційної сторінки випуску, якщо ви віддаєте перевагу ручному встановленню: GroupDocs.Annotation Cloud SDK for Node.JS Завантажити.
Створіть об’єкт конфігурації з вашими обліковими даними (вибірка з повного прикладу):
const { Configuration } = require("@groupdocs.annotation-cloud");
const config = new Configuration({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET"
});
Після встановлення SDK та підготовки облікових даних ми можемо перейти до реалізації.
Створення нотаток-стикерів на сторінках Word у Node.JS: покроковий огляд
У цьому посібнику ми створимо нотатки‑липкі на сторінках Word у Node.JS, використовуючи класи анотацій SDK.
Крок 1: Ініціалізуйте API анотацій
Спочатку імпортуйте необхідні класи та створіть екземпляр AnnotateApi.
const { AnnotateApi, models } = require("@groupdocs.annotation-cloud");
const annotateApi = new AnnotateApi(config);
Крок 2: Визначте файли джерела та призначення
Вкажіть вхідний DOCX та шлях до анотованого вихідного файлу.
const inputFilePath = "sample.docx";
const outputFilePath = "sample_annotated.docx";
const fileInfo = new models.FileInfo();
fileInfo.filePath = inputFilePath;
Крок 3: Налаштування позиції липкої нотатки
Створіть Rectangle, який визначає, де на сторінці 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
Крок 4: Створіть об’єкт анотації Sticky Note
Налаштуйте тип анотації, номер сторінки, прямокутник, текст і колір фону.
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
Крок 5: Виконати запит анотації
Зберіть параметри запиту та викличте метод 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);
}
})();
Повний робочий приклад створення липких нотаток на сторінках Word у Node.JS
У наведеному прикладі продемонстровано повну реалізацію створення нотаток‑стикерів на сторінках Word у Node.JS за допомогою 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);
}
})();
Примітка: Цей приклад коду демонструє основну функціональність. Перш ніж використовувати його у вашому проєкті, переконайтеся, що оновили всі шляхи до файлів та значення конфігурації відповідно до вашого реального середовища, перевірте, чи всі необхідні залежності встановлені правильно, і ретельно протестуйте у вашому середовищі розробки. Якщо ви зіткнетеся з будь-якими проблемами, будь ласка, зверніться до офіційної документації або до команди підтримки за допомогою.
Додавання анотацій Sticky Note за допомогою cURL і REST API
REST API пропонує ту ж саму можливість без написання коду. Нижче наведено необхідні виклики cURL.
Спочатку отримайте токен доступу:
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"}'
Завантажте вихідний файл DOCX (замініть YOUR_ACCESS_TOKEN токеном з попереднього кроку):
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
Створіть анотацію липкої нотатки:
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"
}'
Завантажте анотований документ:
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
Для отримання докладнішої інформації про дані запиту, перегляньте довідка API.
Налаштування параметрів анотації для липких нотаток
SDK надає кілька властивостей, які дозволяють точно налаштувати вигляд та поведінку липких нотаток:
- annotationType - має бути встановлено в
"StickyNote"(обов’язково). - pageNumber - сторінка, на якій з’явиться нотатка.
- rect - визначає позицію (
x,y) та розмір (width,height). Налаштуйте ці значення для контролю розташування. - text - вміст нотатки.
- color - колір фону у HEX (наприклад,
"FFFF00"для жовтого).
Ви також можете встановити додаткові поля, такі як author, fontFamily або opacity, за допомогою моделі AnnotationInfo. Дивіться API довідка для повного списку налаштовуваних властивостей.
Висновок
Слідуючи наведеним вище крокам, ви тепер знаєте, як створювати нотатки‑липкі на сторінках Word у Node.JS за допомогою GroupDocs.Annotation Cloud SDK. Незалежно від того, чи ви віддаєте перевагу нативній реалізації Node.js, чи робочому процесу на базі REST‑cURL, SDK забезпечує послідовний і надійний спосіб програмно анотировать файли DOCX. Пам’ятайте застосовувати дійсну ліцензію для використання у продакшн‑середовищі; ви можете отримати тимчасову ліцензію на сторінці ліцензування або ознайомитися з варіантами ціноутворення на сторінці продукту. Щасливого анотовання!
Питання та відповіді
Як створити Sticky Notes на сторінках Word у Node.JS за допомогою GroupDocs.Annotation Cloud SDK?
Використовуйте AnnotateApi, як продемонстровано у прикладі коду. SDK автоматично обробляє доступ до файлів, створення анотацій та генерацію вихідних даних.Які формати файлів підтримуються для анотації за допомогою SDK?
SDK працює з DOCX, PDF, PPTX, XLSX, та багатьма іншими популярними форматами. Перегляньте повний список в офіційній документації.Як аутентифікуватися під час використання REST API для нотаток‑стикерів?
Отримайте токен доступу через кінцеву точку/auth/token, використовуючи ваші облікові дані клієнта, потім включіть токен у заголовокAuthorization: Bearerдля всіх подальших викликів. Детальні кроки наведено в довідці API.Чи можу я налаштувати колір або розмір липкої нотатки?
Так. Встановіть властивістьcolorу HEX‑значення та налаштуйте розміриrect(width,height), щоб контролювати розмір та розташування нотатки.
