<?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>word file diff on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/zh-hant/tag/word-file-diff/</link>
    <description>Recent content in word file diff on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-hant</language>
    <lastBuildDate>Fri, 18 Sep 2026 12:26:15 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/zh-hant/tag/word-file-diff/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>如何在 Node.JS 中比較 Word 文檔</title>
      <link>https://blog-qa.groupdocs.cloud/zh-hant/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/zh-hant/comparison/how-to-compare-word-documents-in-nodejs/</guid>
      <description>了解如何在 Node.JS 中使用 GroupDocs.Comparison Cloud SDK 比較 Word 文檔。本指南將帶您完成設定、程式碼範例與最佳實踐。</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="完整程式碼範例比較-nodejs-中的-word-文件">完整程式碼範例：比較 Node.JS 中的 Word 文件</h2>
<p>以下範例示範了使用 GroupDocs.Comparison Cloud SDK for Node.js 比較兩個 Word 文件的完整端到端工作流程。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">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="了解在-nodejs-中比較-word-文檔的代碼">了解在 Node.JS 中比較 Word 文檔的代碼</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> - 產生摘要頁面會增加處理時間；對於簡單的差異檢查請將其停用。</li>
<li><strong>非同步處理大型文件</strong> - 對於大於 10 MB 的 DOCX 檔案，建議輪詢作業狀態，而非同步等待。</li>
<li><strong>保護憑證</strong> - 將 <code>clientId</code> 和 <code>clientSecret</code> 存放於環境變數或機密管理器中；絕不要硬編碼它們。</li>
</ul>
<h2 id="結論">結論</h2>
<p>在 Node.JS 中比較 Word 文檔變得簡單，只需使用 <a href="https://products.groupdocs.cloud/comparison/nodejs/">GroupDocs.Comparison Cloud SDK for Node.js</a>。按照安裝步驟，使用提供的代碼示例，並可選擇使用 cURL 的 REST API，您即可將強大的文檔比較功能整合到任何後端服務中。請記得保護您的憑證，清理臨時文件，並調整比較選項以提升性能。對於生產環境部署，您需要授權版本；定價詳情請參閱產品頁面，您亦可從 <a href="https://purchase.groupdocs.cloud/temporary-license/">臨時許可頁面</a> 獲取臨時許可以進行評估。立即開始實驗，為您的 Node.js 應用帶來可靠的文檔差異比較功能。</p>
<h2 id="常見問題">常見問題</h2>
<ul>
<li>
<p><strong>如何在 Node.JS 中比較 Word 文件而無需編寫代碼？</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>CompareOptions</code> 中的 <code>targetFiles</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/zh-hant/comparison/compare-word-documents-using-rest-api-in-node-js/">使用 REST API 在 Node.js 中比較 Word 文件</a></li>
<li><a href="https://blog.groupdocs.cloud/zh-hant/comparison/compare-word-documents-using-python/">使用 Python 比較 Word 文件</a></li>
<li><a href="https://blog.groupdocs.cloud/zh-hant/comparison/compare-word-documents-using-csharp/">使用 C# .NET 在線比較 Word 文件 | DOCX 文件比較</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
