<?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>document automation on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/zh/tag/document-automation/</link>
    <description>Recent content in document automation on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <lastBuildDate>Mon, 05 Oct 2026 16:29:28 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/zh/tag/document-automation/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>在 Node.JS 中为 Word 页面创建便签</title>
      <link>https://blog-qa.groupdocs.cloud/zh/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/zh/annotation/create-sticky-notes-on-word-pages-in-nodejs/</guid>
      <description>了解如何在 Node.JS 中使用 GroupDocs.Annotation Cloud SDK 在 Word 页面上创建便签。提供分步指南、代码示例和 REST cURL 命令。</description>
      <content:encoded><![CDATA[<p>在 Word 文档上直接添加快速评论是协作审阅工作流中的常见需求。 <a href="https://products.groupdocs.cloud/annotation/nodejs/">GroupDocs.Annotation Cloud SDK for Node.JS</a> 让您能够在不离开服务器环境的情况下，以编程方式添加丰富的批注。在本指南中，我们将展示如何在 Node.JS 中的 Word 页面上创建便签（Sticky Notes），包括环境设置、详细操作步骤、完整代码示例以及等效的 cURL 调用。</p>
<h2 id="设置-groupdocsannotation-cloud-sdk-for-nodejs">设置 GroupDocs.Annotation Cloud SDK for Node.JS</h2>
<p>在开始之前，请确保您已拥有：</p>
<ul>
<li>已安装 Node.js 14+ 和 npm</li>
<li>拥有 <strong>clientId</strong> 和 <strong>clientSecret</strong> 的 GroupDocs 云账户</li>
<li>访问您想要注释的源 <a href="https://docs.fileformat.com/word-processing/docx/">DOCX</a> 文件</li>
</ul>
<p>通过 npm 安装 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-bash" data-lang="bash"><span style="display:flex;"><span>npm install groupdocs-annotation-cloud
</span></span></code></pre></div><p>如果您更喜欢手动安装，请从官方发布页面下载最新软件包： <a href="https://releases.groupdocs.cloud/annotation/nodejs/">GroupDocs.Annotation Cloud SDK for Node.JS 下载</a>。</p>
<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-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>安装好 SDK 并准备好凭据后，我们可以继续实现。</p>
<h2 id="在-nodejs-中为-word-页面创建便签逐步演练">在 Node.JS 中为 Word 页面创建便签：逐步演练</h2>
<p>在本教程中，我们将在 Node.JS 中使用 SDK 的注释类在 Word 页面上创建便签。</p>
<h3 id="步骤-1初始化注释-api">步骤 1：初始化注释 API</h3>
<p>首先，导入所需的类并创建 <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="步骤-2定义源文件和目标文件">步骤 2：定义源文件和目标文件</h3>
<p>指定输入的 DOCX 文件以及带注释的输出路径。</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="第3步设置便利贴位置">第3步：设置便利贴位置</h3>
<p>创建一个 <strong>矩形</strong>，用于确定便利贴在第 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="步骤-4构建便签注释对象">步骤 4：构建便签注释对象</h3>
<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-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="步骤-5执行注释请求">步骤 5：执行注释请求</h3>
<p>组装请求选项并调用 <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="完整的工作示例在-nodejs-中为-word-页面创建便签">完整的工作示例：在 Node.JS 中为 Word 页面创建便签</h2>
<p>以下示例演示了在 Node.JS 中使用 GroupDocs.Annotation Cloud SDK 在 Word 页面上创建粘性便签的完整实现。</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>注意：</strong> 此代码示例演示了核心功能。在项目中使用之前，请确保更新所有文件路径和配置值以匹配实际环境，验证所有必需的依赖项已正确安装，并在开发环境中彻底测试。如果遇到任何问题，请参阅<a href="https://docs.groupdocs.cloud/annotation/">官方文档</a>或联系<a href="https://forum.groupdocs.cloud/c/annotation/10">支持团队</a>获取帮助。</p>
</blockquote>
<h2 id="使用-curl-和-rest-api-添加便签注释">使用 cURL 和 REST API 添加便签注释</h2>
<p>REST API 提供相同的功能，无需编写代码。以下是所需的 cURL 调用。</p>
<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>上传源 DOCX 文件（将 <strong>YOUR_ACCESS_TOKEN</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-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>创建便签注释：</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>下载已注释的文档：</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>有关请求负载的更多详细信息，请参阅 <a href="https://reference.groupdocs.cloud/annotation/">API 参考</a>。</p>
<h2 id="配置便签的注释选项">配置便签的注释选项</h2>
<p>SDK 提供了多个属性，允许您微调便签的外观和行为：</p>
<ul>
<li><strong>annotationType</strong> - 必须设置为 <code>&quot;StickyNote&quot;</code>（必需）。</li>
<li><strong>pageNumber</strong> - 注释出现的页面。</li>
<li><strong>rect</strong> - 定义位置（<code>x</code>、<code>y</code>）和大小（<code>width</code>、<code>height</code>）。调整这些值以控制放置位置。</li>
<li><strong>text</strong> - 注释内容。</li>
<li><strong>color</strong> - 背景颜色的十六进制值（例如 <code>&quot;FFFF00&quot;</code> 表示黄色）。</li>
</ul>
<p>您也可以通过 <strong>AnnotationInfo</strong> 模型设置可选字段，例如 <strong>author</strong>、<strong>fontFamily</strong> 或 <strong>opacity</strong>。请参阅 <a href="https://reference.groupdocs.cloud/annotation/">API reference</a> 以获取可配置属性的完整列表。</p>
<h2 id="结论">结论</h2>
<p>通过上述步骤，您现在已经了解如何在 Node.JS 中使用 GroupDocs.Annotation Cloud SDK 在 Word 页面上创建粘性便签。无论您更喜欢原生 Node.js 实现还是基于 REST 的 cURL 工作流，SDK 都提供了一种一致且可靠的方式，以编程方式对 DOCX 文件进行注释。请记得在生产环境中使用有效许可证；您可以从<a href="https://purchase.groupdocs.cloud/temporary-license/">许可证页面</a>获取临时许可证，或在产品页面查看定价选项。祝注释愉快！</p>
<h2 id="常见问题">常见问题</h2>
<ul>
<li>
<p><strong>如何在 Node.JS 中使用 GroupDocs.Annotation Cloud SDK 在 Word 页面上创建粘性便签？</strong><br>
如代码示例所示，使用 <strong>AnnotateApi</strong>。SDK 会自动处理文件访问、注释创建和输出生成。</p>
</li>
<li>
<p><strong>使用 SDK 支持哪些文件格式进行批注？</strong><br>
SDK 支持 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>，以及许多其他流行格式。完整列表请参阅<a href="https://docs.groupdocs.cloud/annotation/">官方文档</a>。</p>
</li>
<li>
<p><strong>如何在使用粘贴注释的 REST API 时进行身份验证？</strong><br>
通过使用客户端凭据调用 <code>/auth/token</code> 端点获取访问令牌，然后在所有后续调用的 <code>Authorization: Bearer</code> 标头中包含该令牌。详细步骤请参阅 <a href="https://reference.groupdocs.cloud/annotation/">API 参考</a>。</p>
</li>
<li>
<p><strong>我可以自定义便签的颜色或大小吗？</strong><br>
是的。将 <code>color</code> 属性设置为十六进制值，并调整 <code>rect</code> 的尺寸（<code>width</code>、<code>height</code>）以控制便签的大小和位置。</p>
</li>
</ul>
<h2 id="阅读更多">阅读更多</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/zh/annotation/strikethrough-text-in-a-pdf-using-nodejs/">使用 Node.js 和 REST API 在 PDF 中添加删除线文本</a></li>
<li><a href="https://blog.groupdocs.cloud/zh/annotation/add-annotations-in-word-documents-using-a-rest-api-in-node-js/">使用 Node.js 中的 REST API 为 Word 文档添加批注</a></li>
<li><a href="https://blog.groupdocs.cloud/zh/annotation/annotate-docx-files-using-python/">使用 Python 为 Word 文件添加批注</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
