<?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/ar/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>ar</language>
    <lastBuildDate>Fri, 18 Sep 2026 12:26:15 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/ar/tag/nodejs-document-comparison/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>كيفية مقارنة مستندات Word في Node.JS</title>
      <link>https://blog-qa.groupdocs.cloud/ar/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/ar/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> يوفر واجهة برمجة تطبيقات قوية تبسط هذه المهمة لتطبيقات 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</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> - إنشاء صفحة ملخص يضيف وقت معالجة؛ عطلها للقيام بفحوصات اختلاف بسيطة.</li>
<li><strong>معالجة المستندات الكبيرة بشكل غير متزامن</strong> - بالنسبة لملفات DOCX التي يزيد حجمها عن 10 ميغابايت، فكر في استعلام حالة المهمة بدلاً من الانتظار بشكل متزامن.</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="faqs">FAQs</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> من بين أخرى. جميع أسماء الصيغ غير حساسة لحالة الأحرف، ولكنها موثقة بأحرف كبيرة (مثال: DOCX) في <a href="https://reference.groupdocs.cloud/comparison/">مرجع API</a>.</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="read-more">Read More</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/ar/comparison/compare-word-documents-using-rest-api-in-node-js/">قارن مستندات Word باستخدام REST API في Node.js</a></li>
<li><a href="https://blog.groupdocs.cloud/ar/comparison/compare-word-documents-using-python/">قارن مستندات Word باستخدام Python</a></li>
<li><a href="https://blog.groupdocs.cloud/ar/comparison/compare-word-documents-using-csharp/">قارن مستندات Word عبر الإنترنت باستخدام C# .NET | مقارنة ملفات DOCX</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
