<?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>file comparison nodejs on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/vi/tag/file-comparison-nodejs/</link>
    <description>Recent content in file comparison nodejs on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>vi</language>
    <lastBuildDate>Fri, 18 Sep 2026 12:26:15 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/vi/tag/file-comparison-nodejs/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Cách so sánh tài liệu Word trong Node.JS</title>
      <link>https://blog-qa.groupdocs.cloud/vi/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/vi/comparison/how-to-compare-word-documents-in-nodejs/</guid>
      <description>Tìm hiểu cách so sánh tài liệu Word trong Node.JS bằng GroupDocs.Comparison Cloud SDK. Hướng dẫn này sẽ đưa bạn qua quá trình thiết lập, ví dụ mã và các thực tiễn tốt nhất.</description>
      <content:encoded><![CDATA[<p>So sánh các tệp Word bằng chương trình là một yêu cầu thường gặp cho các dịch vụ backend cần phát hiện thay đổi, tạo báo cáo phiên bản, hoặc thực thi các chính sách tài liệu. <a href="https://products.groupdocs.cloud/comparison/nodejs/">GroupDocs.Comparison Cloud SDK for Node.js</a> cung cấp một API mạnh mẽ giúp đơn giản hóa công việc này cho các ứng dụng Node.js. Trong hướng dẫn này, bạn sẽ học cách thiết lập SDK, thực hiện so sánh đầy đủ hai tệp <a href="https://docs.fileformat.com/word-processing/docx/">DOCX</a>, sử dụng các lệnh cURL tương đương, hiểu từng phần của triển khai, và tuân theo các khuyến nghị thực hành tốt nhất để giữ cho giải pháp của bạn đáng tin cậy và an toàn.</p>
<h2 id="ví-dụ-mã-hoàn-chỉnh-so-sánh-tài-liệu-word-trong-nodejs">Ví dụ mã hoàn chỉnh: So sánh tài liệu Word trong Node.JS</h2>
<p>Ví dụ sau đây trình bày quy trình làm việc end‑to‑end đầy đủ để so sánh hai tài liệu Word bằng cách sử dụng 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>Lưu ý:</strong> Ví dụ mã này minh họa chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật mọi đường dẫn tệp và giá trị cấu hình để phù hợp với môi trường thực tế của bạn, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển. Nếu bạn gặp bất kỳ vấn đề nào, vui lòng tham khảo <a href="https://docs.groupdocs.cloud/comparison/">tài liệu chính thức</a> hoặc liên hệ với <a href="https://forum.groupdocs.cloud/c/comparison/12">đội hỗ trợ</a> để được trợ giúp.</p>
</blockquote>
<h2 id="thực-hiện-so-sánh-tài-liệu-bằng-curl-và-rest-api">Thực hiện so sánh tài liệu bằng cURL và REST API</h2>
<p>Nếu bạn muốn một cách tiếp cận không phụ thuộc vào ngôn ngữ, bạn có thể đạt được kết quả tương tự bằng các yêu cầu HTTP thuần. Dưới đây là các lệnh cURL cần thiết.</p>
<ol>
<li><strong>Xác thực và nhận token truy cập</strong><br>
Thay thế <code>YOUR_CLIENT_ID</code> và <code>YOUR_CLIENT_SECRET</code> bằng thông tin đăng nhập của bạn.</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>Tải lên tệp DOCX nguồn</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>Tải lên tệp DOCX mục tiêu</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>Thực hiện thao tác so sánh</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>Tải xuống tệp so sánh kết quả</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>Để biết thêm chi tiết về payload yêu cầu và định dạng phản hồi, xem <a href="https://reference.groupdocs.cloud/comparison/">tài liệu API chính thức</a>.</p>
<h2 id="hiểu-về-việc-so-sánh-tài-liệu-word-trong-mã-nodejs">Hiểu về việc so sánh tài liệu Word trong mã Node.JS</h2>
<p>Dưới đây là phân tích từng bước của ví dụ hoàn chỉnh:</p>
<ol>
<li><strong>Import SDK và các mô-đun 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>Không gian tên <code>GroupDocsComparisonCloud</code> cho phép truy cập vào tất cả các lớp API.</p>
<ol start="2">
<li><strong>Tạo cấu hình với thông tin xác thực client</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>Đối tượng này xác thực mọi cuộc gọi API tiếp theo.</p>
<ol start="3">
<li><strong>Khởi tạo CompareApi và 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> xử lý việc so sánh, trong khi <code>StorageApi</code> quản lý việc tải lên và xóa tệp. Xem <a href="https://reference.groupdocs.cloud/comparison/">tài liệu tham khảo API</a> để biết chi tiết các phương thức.</p>
<ol start="4">
<li><strong>Tải lên tệp DOCX nguồn và đích</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>Mẫu tương tự được lặp lại cho tệp đích.</p>
<ol start="5">
<li><strong>Cấu hình CompareOptions và chạy so sánh</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> cho phép bạn tinh chỉnh hoạt động (ví dụ, tạo trang tóm tắt). Đối tượng kết quả chứa đường dẫn tới tài liệu so sánh đã tạo.</p>
<ol start="6">
<li><strong>Xóa các tệp tạm thời</strong> (tùy chọn)</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>Xóa các tệp gốc đã tải lên giúp lưu trữ gọn gàng.</p>
<h2 id="các-yêu-cầu-và-thiết-lập-cho-groupdocscomparison">Các yêu cầu và thiết lập cho GroupDocs.Comparison</h2>
<ol>
<li><strong>Phiên bản Node.js</strong> - Đảm bảo bạn đang chạy Node 14 hoặc mới hơn.</li>
<li><strong>Lấy thông tin xác thực client</strong> - Đăng ký tại cổng GroupDocs Cloud để lấy <code>clientId</code> và <code>clientSecret</code>.</li>
<li><strong>Cài đặt 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>(Tùy chọn) Tải xuống dự án mẫu</strong> - Bạn có thể sao chép kho từ <a href="https://github.com/groupdocs-comparison-cloud/groupdocs-comparison-cloud-node">trang GitHub</a>.</li>
<li><strong>Cấu hình môi trường của bạn</strong> - Đặt thông tin xác thực dưới dạng biến môi trường hoặc thay thế các placeholder trong mã.</li>
</ol>
<p>Để xem danh sách đầy đủ các tệp nhị phân có thể tải xuống, hãy xem <a href="https://releases.groupdocs.cloud/comparison/nodejs/">trang tải xuống</a>.</p>
<h2 id="các-thực-tiễn-tốt-nhất-để-so-sánh-tài-liệu-word-hiệu-quả">Các thực tiễn tốt nhất để so sánh tài liệu Word hiệu quả</h2>
<ul>
<li><strong>Xác thực tệp đầu vào</strong> - Kiểm tra kích thước và định dạng tệp trước khi tải lên để tránh các cuộc gọi API không cần thiết.</li>
<li><strong>Tái sử dụng phiên lưu trữ</strong> - Tải tệp lên một lần và tái sử dụng đường dẫn của chúng cho nhiều so sánh để giảm độ trễ.</li>
<li><strong>Bật trang tóm tắt chỉ khi cần</strong> - Tạo trang tóm tắt làm tăng thời gian xử lý; tắt nó cho các kiểm tra diff đơn giản.</li>
<li><strong>Xử lý tài liệu lớn một cách bất đồng bộ</strong> - Đối với các tệp DOCX lớn hơn 10 MB, hãy xem xét việc truy vấn trạng thái công việc thay vì chờ đồng bộ.</li>
<li><strong>Bảo mật thông tin đăng nhập</strong> - Lưu <code>clientId</code> và <code>clientSecret</code> trong biến môi trường hoặc trình quản lý bí mật; không bao giờ mã hoá cứng chúng.</li>
</ul>
<h2 id="kết-luận">Kết luận</h2>
<p>So sánh tài liệu Word trong Node.JS trở nên đơn giản với <a href="https://products.groupdocs.cloud/comparison/nodejs/">GroupDocs.Comparison Cloud SDK for Node.js</a>. Bằng cách thực hiện các bước cài đặt, sử dụng ví dụ mã được cung cấp và tùy chọn tận dụng REST API với cURL, bạn có thể tích hợp khả năng so sánh tài liệu mạnh mẽ vào bất kỳ dịch vụ backend nào. Hãy nhớ bảo mật thông tin đăng nhập của bạn, dọn dẹp các tệp tạm thời và điều chỉnh các tùy chọn so sánh để đạt hiệu suất tốt. Đối với triển khai sản xuất, bạn sẽ cần phiên bản có giấy phép; chi tiết giá cả có trên trang sản phẩm, và bạn có thể lấy giấy phép tạm thời để đánh giá từ <a href="https://purchase.groupdocs.cloud/temporary-license/">trang giấy phép tạm thời</a>. Bắt đầu thử nghiệm ngay hôm nay và mang lại khả năng so sánh tài liệu đáng tin cậy cho các ứng dụng Node.js của bạn.</p>
<h2 id="câu-hỏi-thường-gặp">Câu hỏi thường gặp</h2>
<ul>
<li>
<p><strong>Làm thế nào để so sánh tài liệu Word trong Node.JS mà không viết mã?</strong><br>
Bạn có thể sử dụng cùng một thao tác thông qua các cuộc gọi REST. Các ví dụ cURL trong bài viết này cho thấy trình tự chính xác: xác thực, tải lên tệp, gọi endpoint so sánh và tải xuống kết quả.</p>
</li>
<li>
<p><strong>Các định dạng tệp nào được hỗ trợ cho việc so sánh?</strong><br>
SDK hỗ trợ 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>, và <a href="https://docs.fileformat.com/word-processing/txt/">TXT</a> cùng các định dạng khác. Tất cả các tên định dạng không phân biệt chữ hoa chữ thường, nhưng chúng được ghi chú bằng chữ hoa (ví dụ: DOCX) trong <a href="https://reference.groupdocs.cloud/comparison/">tài liệu tham khảo API</a>.</p>
</li>
<li>
<p><strong>Tôi có thể so sánh nhiều hơn hai tài liệu cùng một lúc không?</strong><br>
Có. Mảng <code>targetFiles</code> trong <code>CompareOptions</code> có thể chứa nhiều đối tượng <code>FileInfo</code>, cho phép bạn so sánh một tệp nguồn với nhiều tệp đích trong một yêu cầu duy nhất.</p>
</li>
<li>
<p><strong>Có cách nào để tùy chỉnh kiểu hiển thị của kết quả so sánh không?</strong><br>
SDK cung cấp các cài đặt như <code>showDeletedContent</code>, <code>showInsertedContent</code> và <code>generateSummaryPage</code>. Điều chỉnh các thuộc tính này trong <code>CompareOptions</code> để kiểm soát cách các thay đổi được làm nổi bật. Tham khảo <a href="https://docs.groupdocs.cloud/comparison/">tài liệu chính thức</a> để biết danh sách đầy đủ các tùy chọn.</p>
</li>
</ul>
<h2 id="đọc-thêm">Đọc Thêm</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/vi/comparison/compare-word-documents-using-rest-api-in-node-js/">So sánh tài liệu Word bằng REST API trong Node.js</a></li>
<li><a href="https://blog.groupdocs.cloud/vi/comparison/compare-word-documents-using-python/">So sánh tài liệu Word bằng Python</a></li>
<li><a href="https://blog.groupdocs.cloud/vi/comparison/compare-word-documents-using-csharp/">So sánh tài liệu Word trực tuyến với C# .NET | So sánh tệp DOCX</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
