<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>nodejs word annotations on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/vi/tag/nodejs-word-annotations/</link>
    <description>Recent content in nodejs word annotations on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>vi</language>
    <lastBuildDate>Mon, 05 Oct 2026 16:29:28 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/vi/tag/nodejs-word-annotations/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Tạo Ghi chú Dán trên các Trang Word trong Node.JS</title>
      <link>https://blog-qa.groupdocs.cloud/vi/annotation/create-sticky-notes-on-word-pages-in-nodejs/</link>
      <pubDate>Mon, 05 Oct 2026 16:29:28 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/vi/annotation/create-sticky-notes-on-word-pages-in-nodejs/</guid>
      <description>Tìm hiểu cách tạo Sticky Notes trên các trang Word trong Node.JS bằng GroupDocs.Annotation Cloud SDK. Hướng dẫn từng bước, ví dụ mã và các lệnh REST cURL.</description>
      <content:encoded><![CDATA[<p>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. <a href="https://products.groupdocs.cloud/annotation/nodejs/">GroupDocs.Annotation Cloud SDK for Node.JS</a> 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.</p>
<h2 id="cài-đặt-groupdocsannotation-cloud-sdk-for-nodejs">Cài đặt GroupDocs.Annotation Cloud SDK for Node.JS</h2>
<p>Trước khi bắt đầu, hãy chắc chắn rằng bạn đã có:</p>
<ul>
<li>Node.js 14+ và npm đã được cài đặt</li>
<li>Một tài khoản GroupDocs cloud với <strong>clientId</strong> và <strong>clientSecret</strong></li>
<li>Truy cập vào tệp <a href="https://docs.fileformat.com/word-processing/docx/">DOCX</a> nguồn mà bạn muốn chú thích</li>
</ul>
<p>Cài đặt SDK qua npm:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>npm install groupdocs-annotation-cloud
</span></span></code></pre></div><p>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: <a href="https://releases.groupdocs.cloud/annotation/nodejs/">GroupDocs.Annotation Cloud SDK for Node.JS Download</a>.</p>
<p>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 đủ):</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> { <span style="color:#a6e22e">Configuration</span> } <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#34;@groupdocs.annotation-cloud&#34;</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">config</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">Configuration</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">clientId</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">clientSecret</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span>
</span></span><span style="display:flex;"><span>});
</span></span></code></pre></div><p>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.</p>
<h2 id="tạo-ghi-chú-dán-trên-các-trang-word-trong-nodejs-hướng-dẫn-từng-bước">Tạo Ghi chú Dán trên các Trang Word trong Node.JS: Hướng dẫn Từng Bước</h2>
<p>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.</p>
<h3 id="bước-1-khởi-tạo-annotation-api">Bước 1: Khởi tạo Annotation API</h3>
<p>Đầu tiên, nhập các lớp cần thiết và tạo một thể hiện của <strong>AnnotateApi</strong>.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> { <span style="color:#a6e22e">AnnotateApi</span>, <span style="color:#a6e22e">models</span> } <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#34;@groupdocs.annotation-cloud&#34;</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">annotateApi</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">AnnotateApi</span>(<span style="color:#a6e22e">config</span>);
</span></span></code></pre></div><h3 id="bước-2-xác-định-tệp-nguồn-và-tệp-đích">Bước 2: Xác định Tệp nguồn và Tệp đích</h3>
<p>Xác định tệp DOCX đầu vào và đường dẫn cho đầu ra đã được chú thích.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">inputFilePath</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;sample.docx&#34;</span>;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">outputFilePath</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;sample_annotated.docx&#34;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">fileInfo</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">models</span>.<span style="color:#a6e22e">FileInfo</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">fileInfo</span>.<span style="color:#a6e22e">filePath</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">inputFilePath</span>;
</span></span></code></pre></div><h3 id="bước-3-đặt-vị-trí-ghi-chú-dính">Bước 3: Đặt vị trí ghi chú dính</h3>
<p>Tạo một <strong>Rectangle</strong> xác định vị trí mà ghi chú dính sẽ xuất hiện trên trang 1.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">rect</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">models</span>.<span style="color:#a6e22e">Rectangle</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">rect</span>.<span style="color:#a6e22e">x</span> <span style="color:#f92672">=</span> <span style="color:#ae81ff">100</span>;      <span style="color:#75715e">// distance from left edge (points)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#a6e22e">rect</span>.<span style="color:#a6e22e">y</span> <span style="color:#f92672">=</span> <span style="color:#ae81ff">100</span>;      <span style="color:#75715e">// distance from top edge (points)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#a6e22e">rect</span>.<span style="color:#a6e22e">width</span> <span style="color:#f92672">=</span> <span style="color:#ae81ff">200</span>;  <span style="color:#75715e">// width of the sticky note
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#a6e22e">rect</span>.<span style="color:#a6e22e">height</span> <span style="color:#f92672">=</span> <span style="color:#ae81ff">100</span>; <span style="color:#75715e">// height of the sticky note
</span></span></span></code></pre></div><h3 id="bước-4-xây-dựng-đối-tượng-chú-thích-sticky-note">Bước 4: Xây dựng Đối tượng chú thích Sticky Note</h3>
<p>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.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">stickyNote</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">models</span>.<span style="color:#a6e22e">AnnotationInfo</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">stickyNote</span>.<span style="color:#a6e22e">annotationType</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;StickyNote&#34;</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">stickyNote</span>.<span style="color:#a6e22e">pageNumber</span> <span style="color:#f92672">=</span> <span style="color:#ae81ff">1</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">stickyNote</span>.<span style="color:#a6e22e">rect</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">rect</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">stickyNote</span>.<span style="color:#a6e22e">text</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;This is a sticky note added via GroupDocs.Annotation Cloud SDK.&#34;</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">stickyNote</span>.<span style="color:#a6e22e">color</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;FFFF00&#34;</span>; <span style="color:#75715e">// Yellow background
</span></span></span></code></pre></div><h3 id="bước-5-thực-hiện-yêu-cầu-ghi-chú">Bước 5: Thực hiện Yêu cầu Ghi chú</h3>
<p>Tập hợp các tùy chọn yêu cầu và gọi phương thức <strong>annotate</strong>.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">annotateOptions</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">models</span>.<span style="color:#a6e22e">AnnotateOptions</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">annotateOptions</span>.<span style="color:#a6e22e">fileInfo</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">fileInfo</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">annotateOptions</span>.<span style="color:#a6e22e">annotations</span> <span style="color:#f92672">=</span> [<span style="color:#a6e22e">stickyNote</span>];
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">annotateOptions</span>.<span style="color:#a6e22e">outputPath</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">outputFilePath</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#66d9ef">async</span> () =&gt; {
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">try</span> {
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">request</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">models</span>.<span style="color:#a6e22e">AnnotateRequest</span>(<span style="color:#a6e22e">annotateOptions</span>);
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">response</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">annotateApi</span>.<span style="color:#a6e22e">annotate</span>(<span style="color:#a6e22e">request</span>);
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">log</span>(<span style="color:#e6db74">&#34;Sticky note created successfully. Output saved to:&#34;</span>, <span style="color:#a6e22e">response</span>.<span style="color:#a6e22e">path</span>);
</span></span><span style="display:flex;"><span>    } <span style="color:#66d9ef">catch</span> (<span style="color:#a6e22e">err</span>) {
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">error</span>(<span style="color:#e6db74">&#34;Failed to create sticky note:&#34;</span>, <span style="color:#a6e22e">err</span>);
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>})();
</span></span></code></pre></div><h2 id="ví-dụ-hoạt-động-đầy-đủ-để-tạo-ghi-chú-dán-trên-các-trang-word-trong-nodejs">Ví dụ Hoạt động đầy đủ để Tạo Ghi chú Dán trên các Trang Word trong Node.JS</h2>
<p>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.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> { <span style="color:#a6e22e">AnnotateApi</span>, <span style="color:#a6e22e">Configuration</span>, <span style="color:#a6e22e">models</span> } <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#34;@groupdocs.annotation-cloud&#34;</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// Configuration – replace with your actual GroupDocs credentials
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">config</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">Configuration</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">clientId</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">clientSecret</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span>
</span></span><span style="display:flex;"><span>});
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">annotateApi</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">AnnotateApi</span>(<span style="color:#a6e22e">config</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// Define input and output files
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">inputFilePath</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;sample.docx&#34;</span>;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">outputFilePath</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;sample_annotated.docx&#34;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// Build FileInfo object for the source document
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">fileInfo</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">models</span>.<span style="color:#a6e22e">FileInfo</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">fileInfo</span>.<span style="color:#a6e22e">filePath</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">inputFilePath</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// Define rectangle (position &amp; size) for the sticky note on page 1
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">rect</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">models</span>.<span style="color:#a6e22e">Rectangle</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">rect</span>.<span style="color:#a6e22e">x</span> <span style="color:#f92672">=</span> <span style="color:#ae81ff">100</span>;      <span style="color:#75715e">// distance from left edge (points)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#a6e22e">rect</span>.<span style="color:#a6e22e">y</span> <span style="color:#f92672">=</span> <span style="color:#ae81ff">100</span>;      <span style="color:#75715e">// distance from top edge (points)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#a6e22e">rect</span>.<span style="color:#a6e22e">width</span> <span style="color:#f92672">=</span> <span style="color:#ae81ff">200</span>;  <span style="color:#75715e">// width of the sticky note
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#a6e22e">rect</span>.<span style="color:#a6e22e">height</span> <span style="color:#f92672">=</span> <span style="color:#ae81ff">100</span>; <span style="color:#75715e">// height of the sticky note
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// Create the sticky‑note annotation
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">stickyNote</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">models</span>.<span style="color:#a6e22e">AnnotationInfo</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">stickyNote</span>.<span style="color:#a6e22e">annotationType</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;StickyNote&#34;</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">stickyNote</span>.<span style="color:#a6e22e">pageNumber</span> <span style="color:#f92672">=</span> <span style="color:#ae81ff">1</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">stickyNote</span>.<span style="color:#a6e22e">rect</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">rect</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">stickyNote</span>.<span style="color:#a6e22e">text</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;This is a sticky note added via GroupDocs.Annotation Cloud SDK.&#34;</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">stickyNote</span>.<span style="color:#a6e22e">color</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;FFFF00&#34;</span>; <span style="color:#75715e">// Yellow background
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// Assemble the annotate request options
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">annotateOptions</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">models</span>.<span style="color:#a6e22e">AnnotateOptions</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">annotateOptions</span>.<span style="color:#a6e22e">fileInfo</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">fileInfo</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">annotateOptions</span>.<span style="color:#a6e22e">annotations</span> <span style="color:#f92672">=</span> [<span style="color:#a6e22e">stickyNote</span>];
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">annotateOptions</span>.<span style="color:#a6e22e">outputPath</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">outputFilePath</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// Execute the request
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>(<span style="color:#66d9ef">async</span> () =&gt; {
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">try</span> {
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">request</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">models</span>.<span style="color:#a6e22e">AnnotateRequest</span>(<span style="color:#a6e22e">annotateOptions</span>);
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">response</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">annotateApi</span>.<span style="color:#a6e22e">annotate</span>(<span style="color:#a6e22e">request</span>);
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">log</span>(<span style="color:#e6db74">&#34;Sticky note created successfully. Output saved to:&#34;</span>, <span style="color:#a6e22e">response</span>.<span style="color:#a6e22e">path</span>);
</span></span><span style="display:flex;"><span>    } <span style="color:#66d9ef">catch</span> (<span style="color:#a6e22e">err</span>) {
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">error</span>(<span style="color:#e6db74">&#34;Failed to create sticky note:&#34;</span>, <span style="color:#a6e22e">err</span>);
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>})();
</span></span></code></pre></div><blockquote>
<p><strong>Lưu ý:</strong> 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 <a href="https://docs.groupdocs.cloud/annotation/">tài liệu chính thức</a> hoặc liên hệ với <a href="https://forum.groupdocs.cloud/c/annotation/10">đội hỗ trợ</a> để được trợ giúp.</p>
</blockquote>
<h2 id="thêm-chú-thích-sticky-note-bằng-curl-và-rest-api">Thêm chú thích Sticky Note bằng cURL và REST API</h2>
<p>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.</p>
<p>Đầu tiên, lấy một token truy cập:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0.0/auth/token&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{&#34;client_id&#34;:&#34;YOUR_CLIENT_ID&#34;,&#34;client_secret&#34;:&#34;YOUR_CLIENT_SECRET&#34;}&#39;</span>
</span></span></code></pre></div><p>Tải lên tệp DOCX nguồn (thay thế <strong>YOUR_ACCESS_TOKEN</strong> bằng token từ bước trước):</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X PUT <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0.0/storage/file/sample.docx&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/octet-stream&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     --data-binary @sample.docx
</span></span></code></pre></div><p>Tạo chú thích ghi chú dính:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0.0/annotation/annotate&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;fileInfo&#34;: { &#34;filePath&#34;: &#34;sample.docx&#34; },
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;annotations&#34;: [
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               {
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                   &#34;annotationType&#34;: &#34;StickyNote&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                   &#34;pageNumber&#34;: 1,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                   &#34;rect&#34;: { &#34;x&#34;: 100, &#34;y&#34;: 100, &#34;width&#34;: 200, &#34;height&#34;: 100 },
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                   &#34;text&#34;: &#34;This is a sticky note added via GroupDocs.Annotation Cloud SDK.&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                   &#34;color&#34;: &#34;FFFF00&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               }
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           ],
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;outputPath&#34;: &#34;sample_annotated.docx&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">         }&#39;</span>
</span></span></code></pre></div><p>Tải xuống tài liệu đã chú thích:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X GET <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0.0/storage/file/sample_annotated.docx?download=true&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -o sample_annotated.docx
</span></span></code></pre></div><p>Để biết thêm chi tiết về payload của yêu cầu, xem <a href="https://reference.groupdocs.cloud/annotation/">tài liệu API</a>.</p>
<h2 id="cấu-hình-các-tùy-chọn-chú-thích-cho-sticky-notes">Cấu hình các tùy chọn chú thích cho Sticky Notes</h2>
<p>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:</p>
<ul>
<li><strong>annotationType</strong> - phải được đặt thành <code>&quot;StickyNote&quot;</code> (bắt buộc).</li>
<li><strong>pageNumber</strong> - trang mà ghi chú sẽ xuất hiện.</li>
<li><strong>rect</strong> - xác định vị trí (<code>x</code>, <code>y</code>) và kích thước (<code>width</code>, <code>height</code>). Điều chỉnh các giá trị này để kiểm soát vị trí.</li>
<li><strong>text</strong> - nội dung ghi chú.</li>
<li><strong>color</strong> - màu nền ở dạng HEX (ví dụ, <code>&quot;FFFF00&quot;</code> cho màu vàng).</li>
</ul>
<p>Bạn cũng có thể đặt các trường tùy chọn như <strong>author</strong>, <strong>fontFamily</strong>, hoặc <strong>opacity</strong> thông qua mô hình <strong>AnnotationInfo</strong>. Tham khảo <a href="https://reference.groupdocs.cloud/annotation/">tài liệu API</a> để biết danh sách đầy đủ các thuộc tính có thể cấu hình.</p>
<h2 id="kết-luận">Kết luận</h2>
<p>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ừ <a href="https://purchase.groupdocs.cloud/temporary-license/">trang giấy phép</a> 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ẻ!</p>
<h2 id="câu-hỏi-thường-gặp">Câu hỏi thường gặp</h2>
<ul>
<li>
<p><strong>Làm thế nào để tạo Sticky Notes trên các trang Word trong Node.JS bằng GroupDocs.Annotation Cloud SDK?</strong><br>
Sử dụng <strong>AnnotateApi</strong> 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.</p>
</li>
<li>
<p><strong>Các định dạng tệp nào được hỗ trợ cho chú thích với SDK?</strong><br>
SDK hỗ trợ DOCX, <a href="https://docs.fileformat.com/pdf">PDF</a>, <a href="https://docs.fileformat.com/presentation/pptx/">PPTX</a>, <a href="https://docs.fileformat.com/spreadsheet/xlsx/">XLSX</a>, và nhiều định dạng phổ biến khác. Xem danh sách đầy đủ trong <a href="https://docs.groupdocs.cloud/annotation/">tài liệu chính thức</a>.</p>
</li>
<li>
<p><strong>Làm thế nào để xác thực khi sử dụng REST API cho ghi chú dính?</strong><br>
Nhận token truy cập thông qua endpoint <code>/auth/token</code> bằng cách sử dụng thông tin xác thực client của bạn, sau đó bao gồm token trong header <code>Authorization: Bearer</code> cho tất cả các cuộc gọi tiếp theo. Các bước chi tiết có trong <a href="https://reference.groupdocs.cloud/annotation/">API reference</a>.</p>
</li>
<li>
<p><strong>Tôi có thể tùy chỉnh màu hoặc kích thước của ghi chú dính không?</strong><br>
Có. Đặt thuộc tính <code>color</code> thành giá trị HEX và điều chỉnh kích thước <code>rect</code> (<code>width</code>, <code>height</code>) để kiểm soát kích thước và vị trí của ghi chú.</p>
</li>
</ul>
<h2 id="read-more">Read More</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/vi/annotation/strikethrough-text-in-a-pdf-using-nodejs/">Văn bản gạch ngang trong PDF bằng Node.js và REST API</a></li>
<li><a href="https://blog.groupdocs.cloud/vi/annotation/add-annotations-in-word-documents-using-a-rest-api-in-node-js/">Thêm chú thích vào tài liệu Word bằng REST API trong Node.js</a></li>
<li><a href="https://blog.groupdocs.cloud/vi/annotation/annotate-docx-files-using-python/">Ghi chú các tệp Word bằng Python</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
