<?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 document comparison on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/fa/tag/nodejs-document-comparison/</link>
    <description>Recent content in nodejs document comparison on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>fa</language>
    <lastBuildDate>Fri, 18 Sep 2026 12:26:15 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/fa/tag/nodejs-document-comparison/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>چگونه اسناد Word را در Node.JS مقایسه کنیم</title>
      <link>https://blog-qa.groupdocs.cloud/fa/comparison/how-to-compare-word-documents-in-nodejs/</link>
      <pubDate>Fri, 18 Sep 2026 12:26:15 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/fa/comparison/how-to-compare-word-documents-in-nodejs/</guid>
      <description>نحوه مقایسه اسناد Word در Node.JS با استفاده از GroupDocs.Comparison Cloud SDK را بیاموزید. این راهنما شما را در تنظیمات، مثال کد و بهترین شیوه‌ها راهنمایی می‌کند.</description>
      <content:encoded><![CDATA[<p>مقایسهٔ فایل‌های Word به‌صورت برنامه‌نویسی یک نیاز مکرر برای سرویس‌های بک‌اند است که باید تغییرات را شناسایی کنند، گزارش‌های بازنگری تولید کنند یا سیاست‌های سند را اعمال نمایند. <a href="https://products.groupdocs.cloud/comparison/nodejs/">GroupDocs.Comparison Cloud SDK for Node.js</a> یک API قدرتمند فراهم می‌کند که این کار را برای برنامه‌های Node.js ساده می‌سازد. در این راهنما خواهید آموخت که چگونه SDK را تنظیم کنید، مقایسهٔ کامل دو فایل <a href="https://docs.fileformat.com/word-processing/docx/">DOCX</a> را اجرا کنید، از دستورات معادل cURL استفاده کنید، هر بخش از پیاده‌سازی را درک کنید و توصیه‌های بهترین‑عمل را برای حفظ قابلیت اطمینان و امنیت راه‌حل خود دنبال کنید.</p>
<h2 id="مثال-کامل-کد-مقایسه-اسناد-word-در-nodejs">مثال کامل کد: مقایسه اسناد Word در Node.JS</h2>
<p>مثال زیر یک جریان کار کامل انتها‑به‑انتها برای مقایسه دو سند Word با استفاده از GroupDocs.Comparison Cloud SDK for Node.js را نشان می‌دهد.</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">GroupDocsComparisonCloud</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#34;@groupdocs/comparison-cloud&#34;</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">fs</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#34;fs&#34;</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">path</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#34;path&#34;</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// ==== Authentication =========================================================
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</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:#66d9ef">const</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 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">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">Configuration</span>(<span style="color:#a6e22e">clientId</span>, <span style="color:#a6e22e">clientSecret</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">compareApi</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">CompareApi</span>(<span style="color:#a6e22e">config</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">storageApi</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">StorageApi</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">// ==== File definitions =======================================================
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">sourceFileName</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;document1.docx&#34;</span>;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">targetFileName</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;document2.docx&#34;</span>;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">resultFileName</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;comparison_result.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">sourceFilePath</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">path</span>.<span style="color:#a6e22e">resolve</span>(<span style="color:#a6e22e">__dirname</span>, <span style="color:#a6e22e">sourceFileName</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">targetFilePath</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">path</span>.<span style="color:#a6e22e">resolve</span>(<span style="color:#a6e22e">__dirname</span>, <span style="color:#a6e22e">targetFileName</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// ==== Main async function ====================================================
</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:#75715e">// ---- Upload source document -----------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">sourceData</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">fs</span>.<span style="color:#a6e22e">readFileSync</span>(<span style="color:#a6e22e">sourceFilePath</span>);
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">uploadSourceReq</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">UploadFileRequest</span>({
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">sourceFileName</span>,
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">file</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">sourceData</span>
</span></span><span style="display:flex;"><span>        });
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">storageApi</span>.<span style="color:#a6e22e">uploadFile</span>(<span style="color:#a6e22e">uploadSourceReq</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// ---- Upload target document -----------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">targetData</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">fs</span>.<span style="color:#a6e22e">readFileSync</span>(<span style="color:#a6e22e">targetFilePath</span>);
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">uploadTargetReq</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">UploadFileRequest</span>({
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">targetFileName</span>,
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">file</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">targetData</span>
</span></span><span style="display:flex;"><span>        });
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">storageApi</span>.<span style="color:#a6e22e">uploadFile</span>(<span style="color:#a6e22e">uploadTargetReq</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// ---- Prepare comparison options --------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">compareOptions</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">CompareOptions</span>({
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">sourceFile</span><span style="color:#f92672">:</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">FileInfo</span>({ <span style="color:#a6e22e">filePath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">sourceFileName</span> }),
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">targetFiles</span><span style="color:#f92672">:</span> [<span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">FileInfo</span>({ <span style="color:#a6e22e">filePath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">targetFileName</span> })],
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">outputPath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">resultFileName</span>,
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// optional: you can set settings like generateSummaryPage, showDeletedContent, etc.
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></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">compareRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">CompareDocumentRequest</span>({
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">compareOptions</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">compareOptions</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:#75715e">// ---- Execute comparison -----------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">compareResult</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">compareApi</span>.<span style="color:#a6e22e">compareDocument</span>(<span style="color:#a6e22e">compareRequest</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;Comparison completed. Result stored at:&#34;</span>, <span style="color:#a6e22e">compareResult</span>.<span style="color:#a6e22e">path</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// ---- (Optional) Clean up uploaded files --------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">storageApi</span>.<span style="color:#a6e22e">deleteFile</span>(<span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">DeleteFileRequest</span>({ <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">sourceFileName</span> }));
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">storageApi</span>.<span style="color:#a6e22e">deleteFile</span>(<span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">DeleteFileRequest</span>({ <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">targetFileName</span> }));
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// Note: result file remains in storage; you can download it if needed.
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    } <span style="color:#66d9ef">catch</span> (<span style="color:#a6e22e">error</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;Error during comparison:&#34;</span>, <span style="color:#a6e22e">error</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/comparison/">مستندات رسمی</a> مراجعه کنید یا برای دریافت کمک به <a href="https://forum.groupdocs.cloud/c/comparison/12">تیم پشتیبانی</a> مراجعه کنید.</p>
</blockquote>
<h2 id="انجام-مقایسه-سند-با-curl-و-rest-api">انجام مقایسه سند با cURL و REST API</h2>
<p>اگر ترجیح می‌دهید رویکردی مستقل از زبان داشته باشید، می‌توانید همان نتیجه را با درخواست‌های ساده HTTP به دست آورید. در زیر دستورات اساسی cURL آورده شده است.</p>
<ol>
<li><strong>احراز هویت و دریافت توکن دسترسی</strong><br>
<code>YOUR_CLIENT_ID</code> و <code>YOUR_CLIENT_SECRET</code> را با اعتبارهای خود جایگزین کنید.</li>
</ol>
<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/oauth2/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/x-www-form-urlencoded&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#34;grant_type=client_credentials&amp;client_id=YOUR_CLIENT_ID&amp;client_secret=YOUR_CLIENT_SECRET&#34;</span>
</span></span></code></pre></div><ol start="2">
<li><strong>بارگذاری فایل DOCX منبع</strong></li>
</ol>
<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/storage/file/document1.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 <span style="color:#e6db74">&#34;@path/to/document1.docx&#34;</span>
</span></span></code></pre></div><ol start="3">
<li><strong>بارگذاری فایل DOCX هدف</strong></li>
</ol>
<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/storage/file/document2.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 <span style="color:#e6db74">&#34;@path/to/document2.docx&#34;</span>
</span></span></code></pre></div><ol start="4">
<li><strong>عملیات مقایسه را اجرا کنید</strong></li>
</ol>
<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/comparison/compare&#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;sourceFile&#34;: { &#34;filePath&#34;: &#34;document1.docx&#34; },
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;targetFiles&#34;: [{ &#34;filePath&#34;: &#34;document2.docx&#34; }],
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;outputPath&#34;: &#34;comparison_result.docx&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">         }&#39;</span>
</span></span></code></pre></div><ol start="5">
<li><strong>دانلود فایل مقایسهٔ تولید شده</strong></li>
</ol>
<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/storage/file/comparison_result.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>     -o comparison_result.docx
</span></span></code></pre></div><p>برای جزئیات بیشتر در مورد بارهای درخواست و فرمت‌های پاسخ، به <a href="https://reference.groupdocs.cloud/comparison/">مستندات رسمی API</a> مراجعه کنید.</p>
<h2 id="درک-مقایسه-اسناد-word-در-کد-nodejs">درک مقایسه اسناد Word در کد Node.JS</h2>
<p>در زیر تجزیه و تحلیل گام به گام مثال کامل آورده شده است:</p>
<ol>
<li><strong>وارد کردن SDK و ماژول‌های Node.js</strong></li>
</ol>
<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">GroupDocsComparisonCloud</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#34;@groupdocs/comparison-cloud&#34;</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">fs</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#34;fs&#34;</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">path</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#34;path&#34;</span>);
</span></span></code></pre></div><p>فضای نام <code>GroupDocsComparisonCloud</code> دسترسی به تمام کلاس‌های API را فراهم می‌کند.</p>
<ol start="2">
<li><strong>پیکربندی را با اعتبارهای کلاینت ایجاد کنید</strong></li>
</ol>
<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">config</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">Configuration</span>(<span style="color:#a6e22e">clientId</span>, <span style="color:#a6e22e">clientSecret</span>);
</span></span></code></pre></div><p>این شیء هر درخواست API بعدی را احراز هویت می‌کند.</p>
<ol start="3">
<li><strong>ایجاد نمونه CompareApi و StorageApi</strong></li>
</ol>
<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">compareApi</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">CompareApi</span>(<span style="color:#a6e22e">config</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">storageApi</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">StorageApi</span>(<span style="color:#a6e22e">config</span>);
</span></span></code></pre></div><p><code>CompareApi</code> مقایسه را انجام می‌دهد، در حالی که <code>StorageApi</code> مدیریت بارگذاری و حذف فایل‌ها را بر عهده دارد. برای جزئیات متدها، به <a href="https://reference.groupdocs.cloud/comparison/">مستندات API</a> مراجعه کنید.</p>
<ol start="4">
<li><strong>بارگذاری فایل‌های DOCX منبع و هدف</strong></li>
</ol>
<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">uploadSourceReq</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">UploadFileRequest</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">sourceFileName</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">file</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">sourceData</span>
</span></span><span style="display:flex;"><span>});
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">await</span> <span style="color:#a6e22e">storageApi</span>.<span style="color:#a6e22e">uploadFile</span>(<span style="color:#a6e22e">uploadSourceReq</span>);
</span></span></code></pre></div><p>الگوی مشابه برای فایل هدف تکرار می‌شود.</p>
<ol start="5">
<li><strong>پیکربندی CompareOptions و اجرای مقایسه</strong></li>
</ol>
<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">compareOptions</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">CompareOptions</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">sourceFile</span><span style="color:#f92672">:</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">FileInfo</span>({ <span style="color:#a6e22e">filePath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">sourceFileName</span> }),
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">targetFiles</span><span style="color:#f92672">:</span> [<span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">FileInfo</span>({ <span style="color:#a6e22e">filePath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">targetFileName</span> })],
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">outputPath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">resultFileName</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">compareRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">CompareDocumentRequest</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">compareOptions</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">compareOptions</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">compareResult</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">compareApi</span>.<span style="color:#a6e22e">compareDocument</span>(<span style="color:#a6e22e">compareRequest</span>);
</span></span></code></pre></div><p><code>CompareOptions</code> به شما امکان می‌دهد عملیات را به‌دقت تنظیم کنید (مثلاً یک صفحه خلاصه تولید کنید). شیء نتیجه مسیر سند مقایسه‌ای تولید شده را شامل می‌شود.</p>
<ol start="6">
<li><strong>پاک‌سازی فایل‌های موقت</strong> (اختیاری)</li>
</ol>
<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">await</span> <span style="color:#a6e22e">storageApi</span>.<span style="color:#a6e22e">deleteFile</span>(<span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">DeleteFileRequest</span>({ <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">sourceFileName</span> }));
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">await</span> <span style="color:#a6e22e">storageApi</span>.<span style="color:#a6e22e">deleteFile</span>(<span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsComparisonCloud</span>.<span style="color:#a6e22e">DeleteFileRequest</span>({ <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">targetFileName</span> }));
</span></span></code></pre></div><p>حذف نسخه‌های اصلی بارگذاری‌شده، فضای ذخیره‌سازی را منظم نگه می‌دارد.</p>
<h2 id="پیشنیازها-و-راهاندازی-برای-groupdocscomparison">پیش‌نیازها و راه‌اندازی برای GroupDocs.Comparison</h2>
<ol>
<li><strong>نسخه Node.js</strong> - اطمینان حاصل کنید که Node 14 یا بالاتر را اجرا می‌کنید.</li>
<li><strong>دریافت اعتبارهای مشتری</strong> - در پورتال GroupDocs Cloud ثبت‌نام کنید تا <code>clientId</code> و <code>clientSecret</code> را دریافت کنید.</li>
<li><strong>نصب SDK</strong></li>
</ol>
<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-comparison-cloud
</span></span></code></pre></div><ol start="4">
<li><strong>(اختیاری) دانلود پروژه نمونه</strong> - می‌توانید مخزن را از <a href="https://github.com/groupdocs-comparison-cloud/groupdocs-comparison-cloud-node">GitHub page</a> کلون کنید.</li>
<li><strong>پیکربندی محیط خود</strong> - اعتبارنامه‌ها را به‌عنوان متغیرهای محیطی تنظیم کنید یا جایگزین‌کننده‌ها را در کد جایگزین کنید.</li>
</ol>
<p>برای دریافت فهرست کامل باینری‌های قابل دانلود، صفحهٔ <a href="https://releases.groupdocs.cloud/comparison/nodejs/">صفحه دانلود</a>.</p>
<h2 id="بهترین-روشها-برای-مقایسه-مؤثر-اسناد-word">بهترین روش‌ها برای مقایسه مؤثر اسناد Word</h2>
<ul>
<li><strong>اعتبارسنجی فایل‌های ورودی</strong> - قبل از بارگذاری، اندازه و فرمت فایل را بررسی کنید تا از فراخوانی‌های غیرضروری API جلوگیری شود.</li>
<li><strong>استفاده مجدد از جلسات ذخیره‌سازی</strong> - فایل‌ها را یک بار بارگذاری کنید و مسیرهای آن‌ها را برای مقایسه‌های متعدد استفاده مجدد کنید تا تاخیر کاهش یابد.</li>
<li><strong>فعال‌سازی صفحه خلاصه فقط در صورت نیاز</strong> - ایجاد صفحه خلاصه زمان پردازش را افزایش می‌دهد؛ برای بررسی‌های ساده diff آن را غیرفعال کنید.</li>
<li><strong>پردازش اسناد بزرگ به صورت ناهمزمان</strong> - برای فایل‌های DOCX بزرگ‌تر از ۱۰ مگابایت، به‌جای انتظار همزمان، وضعیت کار را به‌صورت polling بررسی کنید.</li>
<li><strong>امنیت اعتبارنامه‌ها</strong> - <code>clientId</code> و <code>clientSecret</code> را در متغیرهای محیطی یا یک مدیر اسرار ذخیره کنید؛ هرگز به‌صورت سخت‌کد نشده نگهداری نکنید.</li>
</ul>
<h2 id="نتیجهگیری">نتیجه‌گیری</h2>
<p>مقایسه اسناد Word در Node.JS به‌سادگی انجام می‌شود با <a href="https://products.groupdocs.cloud/comparison/nodejs/">GroupDocs.Comparison Cloud SDK for Node.js</a>. با دنبال کردن مراحل نصب، استفاده از مثال کد ارائه‌شده و به‌صورت اختیاری بهره‌گیری از REST API با cURL، می‌توانید مقایسه قدرتمند اسناد را به هر سرویس بک‌اندی یکپارچه کنید. به‌خاطر داشته باشید که اعتبارنامه‌های خود را ایمن کنید، فایل‌های موقت را پاک کنید و گزینه‌های مقایسه را برای عملکرد بهینه تنظیم کنید. برای استقرارهای تولیدی به نسخه دارای لایسنس نیاز خواهید داشت؛ جزئیات قیمت‌گذاری در صفحه محصول موجود است و می‌توانید برای ارزیابی یک لایسنس موقت از <a href="https://purchase.groupdocs.cloud/temporary-license/">صفحه لایسنس موقت</a> دریافت کنید. امروز شروع به آزمایش کنید و قابلیت‌های مقایسهٔ قابل اعتماد اسناد را به برنامه‌های Node.js خود اضافه کنید.</p>
<h2 id="سوالات-متداول">سوالات متداول</h2>
<ul>
<li>
<p><strong>چگونه می‌توانم اسناد Word را در Node.JS بدون نوشتن کد مقایسه کنم؟</strong><br>
می‌توانید از همان عملیات از طریق تماس‌های REST استفاده کنید. مثال‌های cURL در این مقاله توالی دقیق را نشان می‌دهند: احراز هویت، بارگذاری فایل‌ها، فراخوانی نقطه انتهایی مقایسه و دانلود نتیجه.</p>
</li>
<li>
<p><strong>کدام فرمت‌های فایل برای مقایسه پشتیبانی می‌شوند؟</strong><br>
SDK از DOCX، <a href="https://docs.fileformat.com/word-processing/doc/">DOC</a>، <a href="https://docs.fileformat.com/word-processing/odt/">ODT</a>، <a href="https://docs.fileformat.com/word-processing/rtf/">RTF</a>، و <a href="https://docs.fileformat.com/word-processing/txt/">TXT</a> و سایر فرمت‌ها پشتیبانی می‌کند. تمام نام‌های فرمت به حروف بزرگ/کوچک حساس نیستند، اما در <a href="https://reference.groupdocs.cloud/comparison/">مرجع API</a> به صورت حروف بزرگ (مثلاً DOCX) مستند شده‌اند.</p>
</li>
<li>
<p><strong>آیا می‌توانم بیش از دو سند را همزمان مقایسه کنم؟</strong><br>
بله. آرایه <code>targetFiles</code> در <code>CompareOptions</code> می‌تواند شامل چندین شیء <code>FileInfo</code> باشد، که به شما امکان می‌دهد یک فایل منبع را در یک درخواست در برابر چندین هدف مقایسه کنید.</p>
</li>
<li>
<p><strong>آیا راهی برای سفارشی‌سازی سبک بصری نتیجه مقایسه وجود دارد؟</strong><br>
SDK تنظیماتی مانند <code>showDeletedContent</code>، <code>showInsertedContent</code> و <code>generateSummaryPage</code> را ارائه می‌دهد. این ویژگی‌ها را در <code>CompareOptions</code> تنظیم کنید تا نحوه برجسته‌سازی تغییرات را کنترل کنید. برای دریافت فهرست کامل گزینه‌ها به <a href="https://docs.groupdocs.cloud/comparison/">مستندات رسمی</a> مراجعه کنید.</p>
</li>
</ul>
<h2 id="بیشتر-بخوانید">بیشتر بخوانید</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/fa/comparison/compare-word-documents-using-rest-api-in-node-js/">مقایسه اسناد Word با استفاده از REST API در Node.js</a></li>
<li><a href="https://blog.groupdocs.cloud/fa/comparison/compare-word-documents-using-python/">مقایسه اسناد Word با استفاده از Python</a></li>
<li><a href="https://blog.groupdocs.cloud/fa/comparison/compare-word-documents-using-csharp/">مقایسه اسناد Word به صورت آنلاین با C# .NET | مقایسه فایل DOCX</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
