Dodawanie szybkich komentarzy bezpośrednio do dokumentów Word jest powszechnym wymogiem w procesach współpracy przy przeglądzie. GroupDocs.Annotation Cloud SDK for Node.JS umożliwia programowe dodawanie bogatych adnotacji bez opuszczania środowiska serwera. W tym przewodniku pokażemy, jak tworzyć Notatki lepkie na stronach Word w Node.JS, obejmując konfigurację, szczegółowy opis, kompletny przykład kodu oraz równoważne wywołania cURL.
Konfiguracja GroupDocs.Annotation Cloud SDK dla Node.JS
Zanim rozpoczniesz, upewnij się, że masz:
- Node.js 14+ i npm zainstalowane
- Konto GroupDocs cloud z clientId i clientSecret
- Dostęp do źródłowego pliku DOCX który chcesz oznaczyć
Zainstaluj SDK za pomocą npm:
npm install groupdocs-annotation-cloud
Pobierz najnowszy pakiet ze strony oficjalnych wydań, jeśli wolisz ręczną instalację: GroupDocs.Annotation Cloud SDK for Node.JS Pobierz.
Utwórz obiekt konfiguracji ze swoimi poświadczeniami (fragment pełnego przykładu):
const { Configuration } = require("@groupdocs.annotation-cloud");
const config = new Configuration({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET"
});
Po zainstalowaniu SDK i przygotowaniu poświadczeń możemy przejść do implementacji.
Tworzenie notatek samoprzylepnych na stronach Word w Node.JS: Przewodnik krok po kroku
W tym przewodniku utworzymy notatki samoprzylepne na stronach Word w Node.JS, korzystając z klas adnotacji SDK.
Krok 1: Zainicjalizuj API adnotacji
Najpierw zaimportuj wymagane klasy i utwórz instancję AnnotateApi.
const { AnnotateApi, models } = require("@groupdocs.annotation-cloud");
const annotateApi = new AnnotateApi(config);
Krok 2: Zdefiniuj pliki źródłowy i docelowy
Określ wejściowy plik DOCX oraz ścieżkę do wyjściowego pliku z adnotacjami.
const inputFilePath = "sample.docx";
const outputFilePath = "sample_annotated.docx";
const fileInfo = new models.FileInfo();
fileInfo.filePath = inputFilePath;
Krok 3: Ustaw pozycję notatki samoprzylepnej
Utwórz Rectangle, który określa, gdzie notatka samoprzylepna pojawi się na stronie 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
Krok 4: Utwórz obiekt adnotacji Sticky Note
Skonfiguruj typ adnotacji, numer strony, prostokąt, tekst oraz kolor tła.
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
Krok 5: Wykonaj żądanie adnotacji
Zbierz opcje żądania i wywołaj metodę 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);
}
})();
Pełny działający przykład tworzenia notatek samoprzylepnych na stronach Word w Node.JS
Poniższy przykład demonstruje pełną implementację tworzenia notatek samoprzylepnych na stronach Word w Node.JS przy użyciu 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);
}
})();
Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem go w swoim projekcie upewnij się, że zaktualizowałeś wszystkie ścieżki do plików i wartości konfiguracyjne, aby pasowały do rzeczywistego środowiska, zweryfikuj, że wszystkie wymagane zależności są prawidłowo zainstalowane, i dokładnie przetestuj w środowisku deweloperskim. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.
Dodawanie adnotacji typu Sticky Note przy użyciu cURL i REST API
REST API oferuje tę samą funkcjonalność bez konieczności pisania kodu. Poniżej znajdują się wymagane wywołania cURL.
Najpierw uzyskaj token dostępu:
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"}'
Prześlij źródłowy plik DOCX (zamień YOUR_ACCESS_TOKEN na token z poprzedniego kroku):
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
Utwórz adnotację notatki samoprzylepnej:
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"
}'
Pobierz dokument z adnotacjami:
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
Aby uzyskać więcej informacji o ładunkach żądania, zobacz referencję API.
Konfigurowanie opcji adnotacji dla notatek samoprzylepnych
SDK udostępnia kilka właściwości, które pozwalają precyzyjnie dostosować wygląd i zachowanie notatki samoprzylepnej:
- annotationType – musi być ustawiony na
"StickyNote"(wymagane). - pageNumber – strona, na której pojawi się notatka.
- rect – definiuje pozycję (
x,y) oraz rozmiar (width,height). Dostosuj te wartości, aby kontrolować umiejscowienie. - text – treść notatki.
- color – kolor tła w formacie HEX (np.
"FFFF00"dla żółtego).
Możesz również ustawić opcjonalne pola, takie jak author, fontFamily lub opacity, za pomocą modelu AnnotationInfo. Odwołaj się do referencji API po pełną listę konfigurowalnych właściwości.
Podsumowanie
Postępując zgodnie z powyższymi krokami, teraz wiesz, jak tworzyć notatki typu Sticky Notes na stronach Word w Node.JS przy użyciu GroupDocs.Annotation Cloud SDK. Niezależnie od tego, czy wolisz natywną implementację Node.js, czy workflow oparty na REST‑based cURL, SDK zapewnia spójny i niezawodny sposób programowego anotowania plików DOCX. Pamiętaj, aby zastosować ważną licencję w środowisku produkcyjnym; tymczasową licencję możesz uzyskać ze strony licencji lub zapoznać się z opcjami cenowymi na stronie produktu. Miłego anotowania!
Najczęściej zadawane pytania
Jak mogę tworzyć notatki typu Sticky Notes na stronach Word w Node.JS przy użyciu GroupDocs.Annotation Cloud SDK?
Użyj AnnotateApi, jak pokazano w przykładzie kodu. SDK automatycznie obsługuje dostęp do plików, tworzenie adnotacji i generowanie wyjścia.Jakie formaty plików są obsługiwane do anotacji przy użyciu SDK?
SDK obsługuje DOCX, PDF, PPTX, XLSX, oraz wiele innych popularnych formatów. Pełną listę znajdziesz w oficjalnej dokumentacji.Jak się uwierzytelnić przy użyciu REST API dla notatek przylepnych?
Uzyskaj token dostępu za pośrednictwem endpointu/auth/tokenużywając swoich danych uwierzytelniających klienta, a następnie dołącz token w nagłówkuAuthorization: Bearerwe wszystkich kolejnych wywołaniach. Szczegółowe kroki znajdują się w referencji API.Czy mogę dostosować kolor lub rozmiar notatki samoprzylepnej?
Tak. Ustaw właściwośćcolorna wartość HEX i dostosuj wymiaryrect(width,height), aby kontrolować rozmiar i położenie notatki.
