<?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/fa/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>fa</language>
    <lastBuildDate>Mon, 05 Oct 2026 16:29:28 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/fa/tag/nodejs-word-annotations/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ایجاد یادداشت‌های چسبان در صفحات Word در Node.JS</title>
      <link>https://blog-qa.groupdocs.cloud/fa/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/fa/annotation/create-sticky-notes-on-word-pages-in-nodejs/</guid>
      <description>یاد بگیرید چگونه Sticky Notes را در صفحات Word در Node.JS با استفاده از GroupDocs.Annotation Cloud SDK ایجاد کنید. راهنمای گام به گام، مثال کد و دستورات REST cURL.</description>
      <content:encoded><![CDATA[<p>افزودن نظرات سریع مستقیماً به اسناد Word یک نیاز رایج برای جریان‌های کاری بررسی مشترک است. <a href="https://products.groupdocs.cloud/annotation/nodejs/">GroupDocs.Annotation Cloud SDK for Node.JS</a> به شما امکان می‌دهد تا به‌صورت برنامه‌نویسی حاشیه‌نویسی‌های غنی را بدون ترک محیط سرور خود اضافه کنید. در این راهنما نشان خواهیم داد که چگونه Sticky Notes را بر روی صفحات Word در Node.JS ایجاد کنید، شامل تنظیمات، راهنمای گام‌به‌گام، یک مثال کامل کد، و فراخوانی‌های معادل cURL.</p>
<h2 id="راهاندازی-groupdocsannotation-cloud-sdk-برای-nodejs">راه‌اندازی GroupDocs.Annotation Cloud SDK برای Node.JS</h2>
<p>قبل از شروع، مطمئن شوید که دارید:</p>
<ul>
<li>Node.js 14+ و npm نصب شده</li>
<li>یک حساب کاربری GroupDocs cloud با <strong>clientId</strong> و <strong>clientSecret</strong></li>
<li>دسترسی به فایل منبع <a href="https://docs.fileformat.com/word-processing/docx/">DOCX</a> که می‌خواهید حاشیه‌نویسی کنید</li>
</ul>
<p>SDK را از طریق 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>آخرین بسته را از صفحه رسمی انتشار دانلود کنید اگر نصب دستی را ترجیح می‌دهید: <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="ایجاد-یادداشتهای-چسبان-در-صفحات-word-با-nodejs-راهنمای-گامبهگام">ایجاد یادداشت‌های چسبان در صفحات Word با Node.JS: راهنمای گام‌به‌گام</h2>
<p>در این راهنما، با استفاده از کلاس‌های حاشیه‌نویسی SDK، یادداشت‌های چسبان را بر روی صفحات Word در Node.JS ایجاد خواهیم کرد.</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="مرحله-۲-تعریف-فایلهای-منبع-و-مقصد">مرحله ۲: تعریف فایل‌های منبع و مقصد</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="مرحله۳-تنظیم-موقعیت-یادداشت-چسبان">مرحله ۳: تنظیم موقعیت یادداشت چسبان</h3>
<p>یک <strong>Rectangle</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">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="مثال-کامل-کارآمد-برای-ایجاد-یادداشتهای-چسبان-روی-صفحات-word-در-nodejs">مثال کامل کارآمد برای ایجاد یادداشت‌های چسبان روی صفحات Word در Node.JS</h2>
<p>مثال زیر پیاده‌سازی کامل ایجاد یادداشت‌های چسبان (Sticky Notes) روی صفحات Word را در Node.JS با استفاده از 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>توجه:</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>API REST همان قابلیت را بدون نوشتن کد ارائه می‌دهد. در زیر فراخوانی‌های 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> - رنگ پس‌زمینه به صورت HEX (مثلاً <code>&quot;FFFF00&quot;</code> برای زرد).</li>
</ul>
<p>شما همچنین می‌توانید فیلدهای اختیاری مانند <strong>author</strong>، <strong>fontFamily</strong> یا <strong>opacity</strong> را از طریق مدل <strong>AnnotationInfo</strong> تنظیم کنید. برای دریافت فهرست کامل ویژگی‌های قابل پیکربندی، به <a href="https://reference.groupdocs.cloud/annotation/">مرجع API</a> مراجعه کنید.</p>
<h2 id="نتیجهگیری">نتیجه‌گیری</h2>
<p>با دنبال کردن مراحل بالا اکنون می‌دانید چگونه یادداشت‌های چسبان (Sticky Notes) را بر روی صفحات Word در Node.JS با استفاده از GroupDocs.Annotation Cloud SDK ایجاد کنید. چه ترجیح دهید پیاده‌سازی بومی Node.js یا جریان کاری مبتنی بر REST‑cURL را استفاده کنید، SDK روشی ثابت و قابل اعتماد برای حاشیه‌نویسی برنامه‌نویسی فایل‌های DOCX فراهم می‌کند. به‌خاطر داشته باشید برای استفاده در محیط تولید یک لایسنس معتبر اعمال کنید؛ می‌توانید یک لایسنس موقت را از <a href="https://purchase.groupdocs.cloud/temporary-license/">صفحه لایسنس</a> دریافت کنید یا گزینه‌های قیمت‌گذاری را در صفحه محصول بررسی کنید. حاشیه‌نویسی خوشایند!</p>
<h2 id="سوالات-متداول">سوالات متداول</h2>
<ul>
<li>
<p><strong>چگونه می‌توانم Sticky Notes را روی صفحات Word در Node.JS با استفاده از GroupDocs.Annotation Cloud SDK ایجاد کنم؟</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> را به مقدار HEX تنظیم کنید و ابعاد <code>rect</code> (<code>width</code>، <code>height</code>) را تنظیم کنید تا اندازه و مکان یادداشت را کنترل کنید.</p>
</li>
</ul>
<h2 id="بیشتر-بخوانید">بیشتر بخوانید</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/fa/annotation/strikethrough-text-in-a-pdf-using-nodejs/">متن خط خورده در PDF با Node.js و REST API</a></li>
<li><a href="https://blog.groupdocs.cloud/fa/annotation/add-annotations-in-word-documents-using-a-rest-api-in-node-js/">افزودن حاشیه‌نویسی در اسناد Word با استفاده از REST API در Node.js</a></li>
<li><a href="https://blog.groupdocs.cloud/fa/annotation/annotate-docx-files-using-python/">حاشیه‌نویسی فایل‌های Word با استفاده از Python</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
