<?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>office file processing on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/zh/tag/office-file-processing/</link>
    <description>Recent content in office file processing on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <lastBuildDate>Mon, 14 Sep 2026 14:29:18 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/zh/tag/office-file-processing/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>如何在 Java 中合并多个 Word 文档</title>
      <link>https://blog-qa.groupdocs.cloud/zh/merger/how-to-combine-multiple-word-documents-in-java/</link>
      <pubDate>Mon, 14 Sep 2026 14:29:18 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/zh/merger/how-to-combine-multiple-word-documents-in-java/</guid>
      <description>在 Java 中使用 GroupDocs.Merger Cloud SDK 合并多个 Word 文档。请按照本分步指南了解代码、cURL 调用、设置以及最佳实践。</description>
      <content:encoded><![CDATA[<p>将 Word 文件以编程方式合并是构建面向文档的应用程序时的常见需求，尤其是在生成报告或整合合同的场景中。<a href="https://products.groupdocs.cloud/merger/java/">GroupDocs.Merger Cloud SDK for Java</a> 提供了一个简单的云端库，能够在不处理底层文件操作的情况下合并 <a href="https://docs.fileformat.com/word-processing/docx/">DOCX</a> 文件。在本指南中，您将学习如何在 Java 中合并多个 Word 文档，查看完整的代码示例，探索等效的 cURL 调用，并了解所需的设置。完成后，您即可将文档合并功能集成到自己的 Java 项目中。</p>
<h2 id="完整的-java-示例合并多个-word-文档">完整的 Java 示例：合并多个 Word 文档</h2>
<p>此示例演示了如何在 Java 中使用 Merger API 合并多个 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-java" data-lang="java"><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.merger.cloud.client.ApiClient<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.merger.cloud.client.ApiException<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.merger.cloud.api.MergerApi<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.merger.cloud.model.FileInfo<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.merger.cloud.model.MergeOptions<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> java.util.ArrayList<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> java.util.List<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">public</span> <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">CombineWordDocuments</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">public</span> <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> <span style="color:#a6e22e">main</span><span style="color:#f92672">(</span>String<span style="color:#f92672">[]</span> args<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// Initialize the API client with your credentials
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        ApiClient apiClient <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ApiClient<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span><span style="color:#f92672">,</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        MergerApi mergerApi <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> MergerApi<span style="color:#f92672">(</span>apiClient<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">try</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// List of Word documents to combine
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            List<span style="color:#f92672">&lt;</span>FileInfo<span style="color:#f92672">&gt;</span> sourceFiles <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ArrayList<span style="color:#f92672">&lt;&gt;();</span>
</span></span><span style="display:flex;"><span>            sourceFiles<span style="color:#f92672">.</span><span style="color:#a6e22e">add</span><span style="color:#f92672">(</span><span style="color:#66d9ef">new</span> FileInfo<span style="color:#f92672">().</span><span style="color:#a6e22e">setFilePath</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;input1.docx&#34;</span><span style="color:#f92672">));</span>
</span></span><span style="display:flex;"><span>            sourceFiles<span style="color:#f92672">.</span><span style="color:#a6e22e">add</span><span style="color:#f92672">(</span><span style="color:#66d9ef">new</span> FileInfo<span style="color:#f92672">().</span><span style="color:#a6e22e">setFilePath</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;input2.docx&#34;</span><span style="color:#f92672">));</span>
</span></span><span style="display:flex;"><span>            sourceFiles<span style="color:#f92672">.</span><span style="color:#a6e22e">add</span><span style="color:#f92672">(</span><span style="color:#66d9ef">new</span> FileInfo<span style="color:#f92672">().</span><span style="color:#a6e22e">setFilePath</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;input3.docx&#34;</span><span style="color:#f92672">));</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Configure merge options
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            MergeOptions mergeOptions <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> MergeOptions<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>            mergeOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">setOutputPath</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;merged_output.docx&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            mergeOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">setFileInfos</span><span style="color:#f92672">(</span>sourceFiles<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Execute the merge operation
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            FileInfo result <span style="color:#f92672">=</span> mergerApi<span style="color:#f92672">.</span><span style="color:#a6e22e">merge</span><span style="color:#f92672">(</span>mergeOptions<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>System<span style="color:#f92672">.</span><span style="color:#a6e22e">out</span><span style="color:#f92672">.</span><span style="color:#a6e22e">println</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Merge completed successfully. Output file: &#34;</span> <span style="color:#f92672">+</span> result<span style="color:#f92672">.</span><span style="color:#a6e22e">getFilePath</span><span style="color:#f92672">());</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span> <span style="color:#66d9ef">catch</span> <span style="color:#f92672">(</span>ApiException e<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            System<span style="color:#f92672">.</span><span style="color:#a6e22e">err</span><span style="color:#f92672">.</span><span style="color:#a6e22e">println</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;An error occurred while merging documents: &#34;</span> <span style="color:#f92672">+</span> e<span style="color:#f92672">.</span><span style="color:#a6e22e">getMessage</span><span style="color:#f92672">());</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">}</span>
</span></span></code></pre></div><blockquote>
<p><strong>注意：</strong> 此代码示例演示了核心功能。在将其用于项目之前，请确保更新所有文件路径和配置值以匹配实际环境，验证已正确安装所有必需的依赖项，并在开发环境中彻底测试。如果遇到任何问题，请参阅<a href="https://docs.groupdocs.cloud/merger/">官方文档</a>或联系<a href="https://forum.groupdocs.cloud/c/merger/18">支持团队</a>获取帮助。</p>
</blockquote>
<h2 id="使用-curl-通过-rest-api-合并-word-文件">使用 cURL 通过 REST API 合并 Word 文件</h2>
<p>如果您更喜欢纯 REST 方法，可以使用 cURL 调用执行相同的合并操作。下面的步骤展示了如何获取访问令牌、上传源文件、请求合并以及下载结果。</p>
<p>进行身份验证并获取访问令牌：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/auth/token&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{&#34;client_id&#34;:&#34;YOUR_CLIENT_ID&#34;,&#34;client_secret&#34;:&#34;YOUR_CLIENT_SECRET&#34;}&#39;</span>
</span></span></code></pre></div><p>将每个 DOCX 文件上传到您的云存储（将 <strong>YOUR_ACCESS_TOKEN</strong> 替换为上一步获取的令牌）：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X PUT <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/file/input1.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/vnd.openxmlformats-officedocument.wordprocessingml.document&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     --data-binary @input1.docx
</span></span></code></pre></div><p>对 <code>input2.docx</code> 和 <code>input3.docdocx</code> 重复上传命令。</p>
<p>创建合并请求：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/merger/merge&#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;outputPath&#34;:&#34;merged_output.docx&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;fileInfos&#34;:[
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               {&#34;filePath&#34;:&#34;input1.docx&#34;},
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               {&#34;filePath&#34;:&#34;input2.docx&#34;},
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               {&#34;filePath&#34;:&#34;input3.docx&#34;}
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           ]
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">         }&#39;</span>
</span></span></code></pre></div><p>下载合并后的文档：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X GET <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/file/merged_output.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 merged_output.docx
</span></span></code></pre></div><p>有关请求参数的更多详细信息，请参阅<a href="https://reference.groupdocs.cloud/merger/">官方 API 文档</a>。</p>
<h2 id="了解在-java-中合并-word-文档的过程">了解在 Java 中合并 Word 文档的过程</h2>
<p>以下是对前面展示的代码的逐步解析。</p>
<ol>
<li><strong>Create an ApiClient</strong> - <code>new ApiClient(&quot;YOUR_CLIENT_ID&quot;, &quot;YOUR_CLIENT_SECRET&quot;)</code> 建立与 GroupDocs 云服务的连接。
<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-java" data-lang="java"><span style="display:flex;"><span>ApiClient apiClient <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ApiClient<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span><span style="color:#f92672">,</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span><span style="color:#f92672">);</span>
</span></span></code></pre></div></li>
<li><strong>Instantiate MergerApi</strong> - <code>new MergerApi(apiClient)</code> 提供对合并相关端点的访问。
<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-java" data-lang="java"><span style="display:flex;"><span>MergerApi mergerApi <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> MergerApi<span style="color:#f92672">(</span>apiClient<span style="color:#f92672">);</span>
</span></span></code></pre></div></li>
<li><strong>Prepare source file list</strong> - 每个 <code>FileInfo</code> 对象指向云端存储的 DOCX 文件。该列表会传递给 <code>MergeOptions</code>。
<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-java" data-lang="java"><span style="display:flex;"><span>List<span style="color:#f92672">&lt;</span>FileInfo<span style="color:#f92672">&gt;</span> sourceFiles <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ArrayList<span style="color:#f92672">&lt;&gt;();</span>
</span></span><span style="display:flex;"><span>sourceFiles<span style="color:#f92672">.</span><span style="color:#a6e22e">add</span><span style="color:#f92672">(</span><span style="color:#66d9ef">new</span> FileInfo<span style="color:#f92672">().</span><span style="color:#a6e22e">setFilePath</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;input1.docx&#34;</span><span style="color:#f92672">));</span>
</span></span></code></pre></div></li>
<li><strong>Configure MergeOptions</strong> - 设置所需的输出路径并附加源文件列表。
<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-java" data-lang="java"><span style="display:flex;"><span>MergeOptions mergeOptions <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> MergeOptions<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>mergeOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">setOutputPath</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;merged_output.docx&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>mergeOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">setFileInfos</span><span style="color:#f92672">(</span>sourceFiles<span style="color:#f92672">);</span>
</span></span></code></pre></div></li>
<li><strong>Execute merge</strong> - <code>mergerApi.merge(mergeOptions)</code> 发送请求并返回合并后文档的 <code>FileInfo</code>。
<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-java" data-lang="java"><span style="display:flex;"><span>FileInfo result <span style="color:#f92672">=</span> mergerApi<span style="color:#f92672">.</span><span style="color:#a6e22e">merge</span><span style="color:#f92672">(</span>mergeOptions<span style="color:#f92672">);</span>
</span></span></code></pre></div></li>
</ol>
<p>有关可用属性的完整列表，请参阅 <a href="https://reference.groupdocs.cloud/merger/">API 参考</a>。</p>
<h2 id="groupdocsmerger-cloud-sdk-的先决条件和设置">GroupDocs.Merger Cloud SDK 的先决条件和设置</h2>
<p>在运行代码之前，请将 Maven 依赖添加到项目中，并确保您拥有有效的 GroupDocs 帐户。</p>
<p>将 SDK 添加到您的 <code>pom.xml</code> 中：</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-xml" data-lang="xml"><span style="display:flex;"><span><span style="color:#f92672">&lt;dependency&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;groupId&gt;</span>com.groupdocs<span style="color:#f92672">&lt;/groupId&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;artifactId&gt;</span>groupdocs-merger-cloud<span style="color:#f92672">&lt;/artifactId&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;version&gt;</span>25.11<span style="color:#f92672">&lt;/version&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;/dependency&gt;</span>
</span></span></code></pre></div><p>从<a href="https://releases.groupdocs.cloud/merger/java/">下载页面</a>下载最新的 JAR 包和源代码。<br>
您还需要 Java 8 或更高版本以及用于云调用的互联网访问。<br>
创建一个 GroupDocs 账户，获取您的 <strong>Client ID</strong> 和 <strong>Client Secret</strong>，并妥善保管。</p>
<h2 id="结论">结论</h2>
<p>使用 <a href="https://products.groupdocs.cloud/merger/java/">GroupDocs.Merger Cloud SDK for Java</a> 以编程方式合并 DOCX 文件现在变得简单直观。示例代码和 cURL 片段展示了两种灵活的方式在 Java 中合并多个 Word 文档，无论您更喜欢使用本地库还是直接进行 REST 调用。请记得配置凭据，必要时通过流式处理来处理大文件，并使用具有代表性的文档测试合并操作。对于生产环境部署，您需要购买许可证；定价详情可在产品页面查看，您也可以从 <a href="https://purchase.groupdocs.cloud/temporary-license/">临时许可证页面</a> 请求临时许可证进行评估。</p>
<h2 id="常见问题">常见问题</h2>
<ul>
<li>
<p><strong>如何在 Java 中合并多个 Word 文档而无需编写自定义文件‑处理代码？</strong><br>
使用 <a href="https://products.groupdocs.cloud/merger/java/">GroupDocs.Merger Cloud SDK for Java</a>。该 SDK 抽象了所有低层操作，并允许您通过少量 API 调用合并 DOCX 文件。</p>
</li>
<li>
<p><strong>是否可以合并存储在不同云文件夹中的文档？</strong><br>
是的。请在 <code>FileInfo</code> 对象中提供完整的云文件路径，合并操作将在合并之前从各自的位置获取每个文件。</p>
</li>
<li>
<p><strong>如果合并因 ApiException 失败，我该怎么办？</strong><br>
检查异常消息以获取详细信息，例如缺少文件或权限问题。确保文件路径正确，并且您的账户对存储具有读/写访问权限。请查阅<a href="https://docs.groupdocs.cloud/merger/">官方文档</a>了解错误代码。</p>
</li>
<li>
<p><strong>我是否需要为每个环境（开发、预发布、生产）单独购买许可证？</strong><br>
单个许可证覆盖所有环境，但您必须遵守许可证协议中定义的使用限制。对于测试，您可以使用上面链接的临时许可证。</p>
</li>
</ul>
<h2 id="阅读更多">阅读更多</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/zh/merger/password-protect-zip-file-using-password-protection-software/">使用密码保护软件对 ZIP 文件加密</a></li>
<li><a href="https://blog.groupdocs.cloud/zh/merger/password-protect-excel-using-password-protection-service/">使用密码保护服务对 Excel 加密</a></li>
<li><a href="https://blog.groupdocs.cloud/zh/merger/combine-word-documents-in-csharp/">在 C# 中合并 Word 文档</a></li>
</ul>
]]></content:encoded>
    </item>
    
    <item>
      <title>在 C# 中编辑 PowerPoint 演示文稿</title>
      <link>https://blog-qa.groupdocs.cloud/zh/editor/edit-powerpoint-presentations-in-csharp/</link>
      <pubDate>Wed, 09 Sep 2026 12:31:52 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/zh/editor/edit-powerpoint-presentations-in-csharp/</guid>
      <description>使用 GroupDocs.Editor Cloud SDK for .NET 在 C# 中编辑 PowerPoint 演示文稿。本指南涵盖设置、运行代码、cURL REST 调用以及幻灯片编辑的微调。</description>
      <content:encoded><![CDATA[<p>在 C# 中编辑 PowerPoint 演示文稿是构建动态幻灯片套件的开发者经常需要的功能。<a href="https://products.groupdocs.cloud/editor/net/">GroupDocs.Editor Cloud SDK for .NET</a> 提供了强大的 API，允许您直接在您的 .NET 应用程序中修改 <a href="https://docs.fileformat.com/presentation/pptx/">PPTX</a> 文件。在本指南中，您将学习如何设置 SDK、替换占位符文本、运行编辑操作以及微调选项，还会看到完整的代码示例和相匹配的 cURL REST 工作流。</p>
<h2 id="在-c-中进行-powerpoint-自动化的需求">在 C# 中进行 PowerPoint 自动化的需求</h2>
<p>企业通常会从模板生成幻灯片文稿，需要自动更新标题、副标题或数据字段。稳健解决方案的需求包括：</p>
<ul>
<li>能够在 PPTX 文件中定位并替换特定的文本字符串。</li>
<li>支持基于云的处理，使代码能够在任何服务器上运行，而无需安装 Office。</li>
<li>清晰的错误处理以及对输入和输出路径的简易配置。</li>
</ul>
<p>手动编辑或使用通用文件系统脚本无法确保在数十个演示文稿之间的一致性，尤其是在内容频繁更改时。</p>
<h2 id="方法基于云的-powerpoint-编辑">方法：基于云的 PowerPoint 编辑</h2>
<p><a href="https://products.groupdocs.cloud/editor/net/">GroupDocs.Editor Cloud SDK for .NET</a> 解决了这些需求，提供了一个完全在云端运行的 REST 驱动 API。关键功能包括：</p>
<ul>
<li><strong>EditDocument</strong> - 在 PPTX 文件中替换文本、图像或形状，而无需下载整个文档。</li>
<li><strong>FileInfo</strong> - 指定存储在 GroupDocs Cloud 存储中的源文件。</li>
<li><strong>EditDocumentOptions</strong> - 定义输出位置和文本替换列表。</li>
</ul>
<p>SDK 处理身份验证、文件流和保持格式的编辑，使您能够专注于业务逻辑。详细文档可在<a href="https://docs.groupdocs.cloud/editor/">官方文档</a>中获取。</p>
<h2 id="使用-groupdocseditor-cloud-在-c-中实现-powerpoint-演示文稿编辑">使用 GroupDocs.Editor Cloud 在 C# 中实现 PowerPoint 演示文稿编辑</h2>
<p>以下是逐步演练。每个步骤都包含直接取自完整示例的简短代码片段。</p>
<h3 id="安装-sdk-并添加-nuget-包">安装 SDK 并添加 NuGet 包</h3>
<p>首先，将库添加到您的项目中。</p>
<!--[CODE_SNIPPET_START]-->
<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>dotnet add package GroupDocs.editor-Cloud
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>您也可以从<a href="https://releases.groupdocs.cloud/editor/net/">下载页面</a>下载最新版本。</p>
<h3 id="配置-api-凭据">配置 API 凭据</h3>
<p>使用您的客户端 ID 和密钥创建一个 <code>Configuration</code> 对象。</p>
<!--[CODE_SNIPPET_START]-->
<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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> config = <span style="color:#66d9ef">new</span> Configuration
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    ClientId = <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>,
</span></span><span style="display:flex;"><span>    ClientSecret = <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span>
</span></span><span style="display:flex;"><span>};
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p><code>Configuration</code> 类在 <a href="https://reference.groupdocs.cloud/editor/">API reference</a> 中有描述。</p>
<h3 id="初始化-editor-api">初始化 Editor API</h3>
<p>使用配置实例化 <code>EditorApi</code>。</p>
<!--[CODE_SNIPPET_START]-->
<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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> editorApi = <span style="color:#66d9ef">new</span> EditorApi(config);
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>此对象提供所有编辑操作。</p>
<h3 id="定义编辑选项替换占位符文本">定义编辑选项（替换占位符文本）</h3>
<p>设置源文件、输出路径以及所需的文本替换。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> editOptions = <span style="color:#66d9ef">new</span> EditDocumentOptions
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    FileInfo = <span style="color:#66d9ef">new</span> FileInfo { FilePath = <span style="color:#e6db74">&#34;sample.pptx&#34;</span> },
</span></span><span style="display:flex;"><span>    OutputPath = <span style="color:#e6db74">&#34;sample_edited.pptx&#34;</span>,
</span></span><span style="display:flex;"><span>    EditTexts = <span style="color:#66d9ef">new</span> List&lt;EditText&gt;
</span></span><span style="display:flex;"><span>    {
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">new</span> EditText { Text = <span style="color:#e6db74">&#34;OldTitle&#34;</span>, NewText = <span style="color:#e6db74">&#34;New Title&#34;</span> },
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">new</span> EditText { Text = <span style="color:#e6db74">&#34;OldSubtitle&#34;</span>, NewText = <span style="color:#e6db74">&#34;Updated Subtitle&#34;</span> }
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>};
</span></span></code></pre></div><p><code>EditTexts</code> 集合让您一次调用即可替换任意数量的占位符。</p>
<h3 id="执行编辑操作并处理响应">执行编辑操作并处理响应</h3>
<p>创建请求并调用 <code>EditDocument</code>。</p>
<!--[CODE_SNIPPET_START]-->
<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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> request = <span style="color:#66d9ef">new</span> EditDocumentRequest(editOptions);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">var</span> response = editorApi.EditDocument(request);
</span></span><span style="display:flex;"><span>Console.WriteLine(<span style="color:#e6db74">$&#34;Edited PowerPoint saved to: {response.Path}&#34;</span>);
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>响应包含云存储中已编辑文件的路径。</p>
<h2 id="完整代码示例在-c-中编辑-powerpoint-演示文稿---完整工作流">完整代码示例：在 C# 中编辑 PowerPoint 演示文稿 - 完整工作流</h2>
<p>以下代码演示了从头到尾的完整过程。</p>
<!--[COMPLETE_CODE_SNIPPET_START]-->
<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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System.Collections.Generic;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Editor.Cloud.Sdk.Api;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Editor.Cloud.Sdk.Client;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Editor.Cloud.Sdk.Model;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Editor.Cloud.Sdk.Model.Requests;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">namespace</span> GroupDocsEditorDemo
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">Program</span>
</span></span><span style="display:flex;"><span>    {
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> Main(<span style="color:#66d9ef">string</span>[] args)
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Configure API credentials</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> config = <span style="color:#66d9ef">new</span> Configuration
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                ClientId = <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>,
</span></span><span style="display:flex;"><span>                ClientSecret = <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span>
</span></span><span style="display:flex;"><span>            };
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Initialize the Editor API</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> editorApi = <span style="color:#66d9ef">new</span> EditorApi(config);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Define input and output PowerPoint files</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">string</span> inputFilePath = <span style="color:#e6db74">&#34;sample.pptx&#34;</span>;
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">string</span> outputFilePath = <span style="color:#e6db74">&#34;sample_edited.pptx&#34;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Set up editing options (replace placeholder texts)</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> editOptions = <span style="color:#66d9ef">new</span> EditDocumentOptions
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                FileInfo = <span style="color:#66d9ef">new</span> FileInfo { FilePath = inputFilePath },
</span></span><span style="display:flex;"><span>                OutputPath = outputFilePath,
</span></span><span style="display:flex;"><span>                EditTexts = <span style="color:#66d9ef">new</span> List&lt;EditText&gt;
</span></span><span style="display:flex;"><span>                {
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">new</span> EditText { Text = <span style="color:#e6db74">&#34;OldTitle&#34;</span>, NewText = <span style="color:#e6db74">&#34;New Title&#34;</span> },
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">new</span> EditText { Text = <span style="color:#e6db74">&#34;OldSubtitle&#34;</span>, NewText = <span style="color:#e6db74">&#34;Updated Subtitle&#34;</span> }
</span></span><span style="display:flex;"><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">// Create the request</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> request = <span style="color:#66d9ef">new</span> EditDocumentRequest(editOptions);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">try</span>
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// Perform the edit operation</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">var</span> response = editorApi.EditDocument(request);
</span></span><span style="display:flex;"><span>                Console.WriteLine(<span style="color:#e6db74">$&#34;Edited PowerPoint saved to: {response.Path}&#34;</span>);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">catch</span> (ApiException apiEx)
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                Console.WriteLine(<span style="color:#e6db74">$&#34;API error ({apiEx.ErrorCode}): {apiEx.Message}&#34;</span>);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">catch</span> (Exception ex)
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                Console.WriteLine(<span style="color:#e6db74">$&#34;Unexpected error: {ex.Message}&#34;</span>);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>        }
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><!--[COMPLETE_CODE_SNIPPET_END]-->
<blockquote>
<p><strong>注意：</strong> 此代码示例演示了核心功能。在项目中使用之前，请确保更新所有文件路径和配置值以匹配实际环境，验证已正确安装所有必需的依赖项，并在开发环境中彻底测试。如果遇到任何问题，请参阅<a href="https://docs.groupdocs.cloud/editor/">官方文档</a>或联系<a href="https://forum.groupdocs.cloud/c/editor/20">支持团队</a>获取帮助。</p>
</blockquote>
<h2 id="powerpoint-editing-with-curl-and-the-rest-api">PowerPoint Editing with cURL and the REST API</h2>
<p>如果您更喜欢语言无关的方法，您可以使用 cURL 调用执行相同的编辑操作。</p>
<ol>
<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/auth/token&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{&#34;client_id&#34;:&#34;YOUR_CLIENT_ID&#34;,&#34;client_secret&#34;:&#34;YOUR_CLIENT_SECRET&#34;}&#39;</span>
</span></span></code></pre></div><ol start="2">
<li><strong>上传源 PPTX 文件</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/storage/upload/sample.pptx&#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>     -F <span style="color:#e6db74">&#34;file=@sample.pptx&#34;</span>
</span></span></code></pre></div><ol start="3">
<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/editor/edit&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;fileInfo&#34;: { &#34;filePath&#34;: &#34;sample.pptx&#34; },
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;outputPath&#34;: &#34;sample_edited.pptx&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;editTexts&#34;: [
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               { &#34;text&#34;: &#34;OldTitle&#34;, &#34;newText&#34;: &#34;New Title&#34; },
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               { &#34;text&#34;: &#34;OldSubtitle&#34;, &#34;newText&#34;: &#34;Updated Subtitle&#34; }
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           ]
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">         }&#39;</span>
</span></span></code></pre></div><ol start="4">
<li><strong>下载已编辑的 PPTX 文件</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/download/sample_edited.pptx&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -o sample_edited.pptx
</span></span></code></pre></div><p>有关请求负载的更多详细信息，请参阅<a href="https://reference.groupdocs.cloud/editor/">API 参考</a>。</p>
<h2 id="微调-powerpoint-编辑选项">微调 PowerPoint 编辑选项</h2>
<p>SDK 提供了可调整的其他参数：</p>
<ul>
<li><strong>OutputPath</strong> - 为编辑后的演示文稿选择不同的文件夹或文件名。</li>
<li><strong>EditTexts</strong> - 根据需要添加任意数量的 <code>EditText</code> 对象，以替换多个占位符。</li>
<li><strong>FileInfo.StorageName</strong> - 如果使用多个云存储，请指定自定义存储位置。</li>
</ul>
<p>这些选项是 <code>EditDocumentOptions</code> 类的一部分，引用自 <a href="https://reference.groupdocs.cloud/editor/">API 参考</a>。</p>
<h2 id="结论">结论</h2>
<p>使用 GroupDocs.Editor Cloud SDK for .NET 在 C# 中编辑 PowerPoint 演示文稿变得简单直观。该库处理身份验证、文件管理和文本替换，让您专注于业务逻辑。请记得为生产环境获取正式许可证；您可以从<a href="https://purchase.groupdocs.cloud/temporary-license/">临时许可证页面</a>获取临时许可证。通过提供的代码示例和 cURL 工作流，您即可在任何 .NET 应用程序中集成动态幻灯片编辑功能。</p>
<h2 id="常见问题">常见问题</h2>
<p><strong>如何在 C# 中使用 GroupDocs.Editor Cloud 编辑 Powerpoint 演示文稿？</strong><br>
在配置了源文件、输出路径和 <code>EditText</code> 替换列表的 <code>EditDocumentOptions</code> 后，使用 <code>EditDocument</code> 方法。完整示例已在本指南前面展示。</p>
<p><strong>我可以在单个 PowerPoint 文件中替换多个占位符吗？</strong><br>
是的。将 <code>EditTexts</code> 集合填充为所需数量的 <code>EditText</code> 对象；SDK 将在一次请求中处理所有替换。</p>
<p><strong>如果编辑后的文件未生成，我该怎么办？</strong><br>
检查 <code>OutputPath</code> 是否正确设置，并且 API 响应中包含有效的 <code>Path</code>。还要通过 GroupDocs 门户验证您的凭据和存储权限。</p>
<p><strong>我需要为生产部署获取许可证吗？</strong><br>
在生产环境中需要有效的许可证。您可以在评估 SDK 时从<a href="https://purchase.groupdocs.cloud/temporary-license/">临时许可证页面</a>获取临时许可证。</p>
<h2 id="阅读更多">阅读更多</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/zh/editor/edit-powerpoint-presentations-using-python/">使用 Python 编辑 PowerPoint 演示文稿</a></li>
<li><a href="https://blog.groupdocs.cloud/zh/editor/edit-powerpoint-files-using-java-library/">使用 Java 库编辑 PowerPoint 文件</a></li>
<li><a href="https://blog.groupdocs.cloud/zh/editor/best-practices-for-csv-editor-development-in-java/">Java 中 CSV 编辑器开发的最佳实践</a></li>
</ul>
]]></content:encoded>
    </item>
    
    <item>
      <title>如何在 Node.JS 中合并多个 Word 文档</title>
      <link>https://blog-qa.groupdocs.cloud/zh/merger/how-to-combine-multiple-word-documents-in-nodejs/</link>
      <pubDate>Wed, 19 Aug 2026 10:37:27 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/zh/merger/how-to-combine-multiple-word-documents-in-nodejs/</guid>
      <description>了解如何在 Node.JS 中使用 GroupDocs.Merger Cloud SDK 合并 Word 文档。本指南提供代码、cURL 示例和设置步骤，帮助轻松合并。</description>
      <content:encoded><![CDATA[<p>许多开发人员需要在 Node.JS 中合并多个 Word 文档，以生成综合报告或包。 <a href="https://products.groupdocs.cloud/merger/nodejs/">GroupDocs.Merger Cloud SDK for Node.js</a> 提供了强大的 API，能够在服务器端处理 Word 合并，无需复杂的文件处理代码。 在本指南中，您将看到完整的实现示例、等效的 cURL 调用、安装步骤以及最佳实践技巧，帮助您快速合并文档。</p>
<h2 id="在-nodejs-中合并多个-word-文档---完整代码示例">在 Node.JS 中合并多个 Word 文档 - 完整代码示例</h2>
<p>本示例演示如何使用 GroupDocs.Merger Cloud SDK for Node.js 将三个 <a href="https://docs.fileformat.com/word-processing/docx/">DOCX</a> 文件合并为一个文档。</p>
<!--[COMPLETE_CODE_SNIPPET_START]-->
<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">GroupDocsMergerCloud</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#34;@groupdocs/merger-cloud&#34;</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// ==== Configuration ====
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// Replace with your actual credentials
</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">GroupDocsMergerCloud</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">mergeApi</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">MergeApi</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">// ==== Input / Output paths ====
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">inputFiles</span> <span style="color:#f92672">=</span> [
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;documents/input1.docx&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;documents/input2.docx&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;documents/input3.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">outputFile</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;documents/combined_output.docx&#34;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// ==== Build request ====
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">documentEntries</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">inputFiles</span>.<span style="color:#a6e22e">map</span>(<span style="color:#a6e22e">path</span> =&gt; {
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">return</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">Models</span>.<span style="color:#a6e22e">DocumentEntry</span>({
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">fileInfo</span><span style="color:#f92672">:</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">Models</span>.<span style="color:#a6e22e">FileInfo</span>({
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">filePath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">path</span>
</span></span><span style="display:flex;"><span>        })
</span></span><span style="display:flex;"><span>    });
</span></span><span style="display:flex;"><span>});
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">mergeRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">Models</span>.<span style="color:#a6e22e">MergeDocumentsRequest</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">documents</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">documentEntries</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">outputPath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">outputFile</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 merge ====
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>(<span style="color:#66d9ef">async</span> () =&gt; {
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">try</span> {
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">result</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">mergeApi</span>.<span style="color:#a6e22e">mergeDocuments</span>(<span style="color:#a6e22e">mergeRequest</span>);
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">log</span>(<span style="color:#e6db74">`Merge completed successfully. Output file: </span><span style="color:#e6db74">${</span><span style="color:#a6e22e">result</span>.<span style="color:#a6e22e">path</span><span style="color:#e6db74">}</span><span style="color:#e6db74">`</span>);
</span></span><span style="display:flex;"><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 merging:&#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><!--[COMPLETE_CODE_SNIPPET_END]-->
<blockquote>
<p><strong>注意：</strong> 此代码示例演示了核心功能。在将其用于项目之前，请确保更新文件路径（<code>input1.docx</code>、<code>combined_output.docx</code> 等）以匹配实际文件位置，验证所有必需的依赖项已正确安装，并在开发环境中彻底测试。如遇到任何问题，请参阅<a href="https://docs.groupdocs.cloud/merger/">官方文档</a>或联系<a href="https://forum.groupdocs.cloud/c/merger/18">支持团队</a>获取帮助。</p>
</blockquote>
<h2 id="使用-curl-通过-rest-api-合并-word-文档">使用 cURL 通过 REST API 合并 Word 文档</h2>
<p>如果您更喜欢纯 REST 方法，可以使用 cURL 命令执行相同的合并操作。下面是一个简洁的工作流，它会进行身份验证、上传源文件、运行合并并下载结果。</p>
<h3 id="1-身份验证并获取访问令牌">1. 身份验证并获取访问令牌</h3>
<!--[CODE_SNIPPET_START]-->
<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/merger/authenticate&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>-H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>-d <span style="color:#e6db74">&#39;{&#34;client_id&#34;:&#34;YOUR_CLIENT_ID&#34;,&#34;client_secret&#34;:&#34;YOUR_CLIENT_SECRET&#34;}&#39;</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>响应中包含一个在后续调用中使用的 <code>access_token</code>。</p>
<h3 id="2-上传源文件">2. 上传源文件</h3>
<p>对每个要合并的 DOCX 文件重复此步骤。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/file/upload?path=documents/input1.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/input1.docx&#34;</span>
</span></span></code></pre></div><h3 id="3-执行合并操作">3. 执行合并操作</h3>
<!--[CODE_SNIPPET_START]-->
<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/merger/merge&#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;documents&#34;: [
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">        {&#34;fileInfo&#34;: {&#34;filePath&#34;: &#34;documents/input1.docx&#34;}},
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">        {&#34;fileInfo&#34;: {&#34;filePath&#34;: &#34;documents/input2.docx&#34;}},
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">        {&#34;fileInfo&#34;: {&#34;filePath&#34;: &#34;documents/input3.docx&#34;}}
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    ],
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    &#34;outputPath&#34;: &#34;documents/combined_output.docx&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">}&#39;</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>API 返回合并文件的路径。</p>
<h3 id="4-下载合并文档">4. 下载合并文档</h3>
<!--[CODE_SNIPPET_START]-->
<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/download?path=documents/combined_output.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 combined_output.docx
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>有关请求负载和选项的更多详细信息，请参阅<a href="https://docs.groupdocs.cloud/merger/">官方 API 文档</a>。</p>
<h2 id="如何在-nodejs-中合并多个-word-文档">如何在 Node.JS 中合并多个 Word 文档</h2>
<p>SDK 将合并过程抽象为几个逻辑步骤：</p>
<ol>
<li><strong>配置创建</strong> - <code>new GroupDocsMergerCloud.Configuration(clientId, clientSecret)</code> 构建身份验证上下文。请参阅 <a href="https://reference.groupdocs.cloud/merger/">API Reference</a> 中的类参考。</li>
</ol>
<!--[CODE_SNIPPET_START]-->  
<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">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">Configuration</span>(<span style="color:#a6e22e">clientId</span>, <span style="color:#a6e22e">clientSecret</span>);
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<ol start="2">
<li><strong>API 实例</strong> - <code>new GroupDocsMergerCloud.MergeApi(config)</code> 提供对合并操作的访问。</li>
</ol>
<!--[CODE_SNIPPET_START]-->  
<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">mergeApi</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">MergeApi</span>(<span style="color:#a6e22e">config</span>);
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<ol start="3">
<li><strong>文档条目</strong> - 每个源文件都被包装在一个 <code>DocumentEntry</code> 中，该条目包含一个带有文件路径的 <code>FileInfo</code>。</li>
</ol>
<!--[CODE_SNIPPET_START]-->
<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">documentEntries</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">inputFiles</span>.<span style="color:#a6e22e">map</span>(<span style="color:#a6e22e">path</span> =&gt; {
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">return</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">Models</span>.<span style="color:#a6e22e">DocumentEntry</span>({
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">fileInfo</span><span style="color:#f92672">:</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">Models</span>.<span style="color:#a6e22e">FileInfo</span>({ <span style="color:#a6e22e">filePath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">path</span> })
</span></span><span style="display:flex;"><span>    });
</span></span><span style="display:flex;"><span>});
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<ol start="4">
<li>
<p><strong>合并请求</strong> - <code>MergeDocumentsRequest</code> 将条目和所需的输出路径捆绑在一起。</p>
<!--[CODE_SNIPPET_START]-->
<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">mergeRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">Models</span>.<span style="color:#a6e22e">MergeDocumentsRequest</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">documents</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">documentEntries</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">outputPath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">outputFile</span>
</span></span><span style="display:flex;"><span>});
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
</li>
<li>
<p><strong>执行</strong> - <code>mergeApi.mergeDocuments(mergeRequest)</code> 将请求发送到云服务。Promise 解析后返回一个包含输出文件路径的结果对象。</p>
</li>
</ol>
<!--[CODE_SNIPPET_START]-->  
<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">result</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">mergeApi</span>.<span style="color:#a6e22e">mergeDocuments</span>(<span style="color:#a6e22e">mergeRequest</span>);
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">log</span>(<span style="color:#e6db74">`Merge completed successfully. Output file: </span><span style="color:#e6db74">${</span><span style="color:#a6e22e">result</span>.<span style="color:#a6e22e">path</span><span style="color:#e6db74">}</span><span style="color:#e6db74">`</span>);
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>这些步骤共同使您能够高效地合并多个 Word 文档，而无需处理低级文件流。</p>
<h2 id="为-groupdocsmerger-准备环境">为 GroupDocs.Merger 准备环境</h2>
<ol>
<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-merger-cloud
</span></span></code></pre></div><p>该软件包可从官方<a href="https://releases.groupdocs.cloud/merger/nodejs/">下载页面</a>获取。</p>
<ol start="2">
<li>
<p><strong>Node.js 版本</strong> - 确保您正在运行 Node.js 12 或更高版本。</p>
</li>
<li>
<p><strong>配置凭据</strong> - 将代码中的 <code>YOUR_CLIENT_ID</code> 和 <code>YOUR_CLIENT_SECRET</code> 替换为您 GroupDocs Cloud 帐户中的值。</p>
</li>
<li>
<p><strong>Create a Project Folder</strong> - 将源 DOCX 文件放置在 <code>documents/</code> 子文件夹中，如示例所示。</p>
</li>
</ol>
<p>完成这些步骤后，您可以运行合并脚本或调用 REST 端点。</p>
<h2 id="结论">结论</h2>
<p>在 Node.JS 中合并多个 Word 文档变得简单，只需使用 <a href="https://products.groupdocs.cloud/merger/nodejs/">GroupDocs.Merger Cloud SDK for Node.js</a>。该 SDK 处理文件上传、合并逻辑和输出生成，让您可以专注于业务逻辑，而无需处理低层文件操作。请确保为生产环境获取合适的许可证；您可以先使用 <a href="https://purchase.groupdocs.cloud/temporary-license/">临时许可证</a> 然后随着需求增长升级为完整订阅。立即开始合并，简化文档工作流。</p>
<h2 id="faqs">FAQs</h2>
<ul>
<li>
<p><strong>如何在 Node.JS 中使用 SDK 合并多个 Word 文档？</strong><br>
使用 <code>MergeApi</code> 类创建一个 <code>MergeDocumentsRequest</code>，其中列出每个 DOCX 文件作为 <code>DocumentEntry</code>。SDK 按提供的顺序合并它们，并将结果保存到指定的输出路径。</p>
</li>
<li>
<p><strong>是否可以使用相同的 SDK 合并 PDF？</strong><br>
是的，Merger SDK 支持 <a href="https://docs.fileformat.com/pdf">PDF</a>、DOCX、<a href="https://docs.fileformat.com/word-processing/odt/">ODT</a> 和其他多种格式。只需在 <code>inputFiles</code> 数组中更改文件扩展名，SDK 将自动处理转换。有关格式详情，请参阅<a href="https://docs.groupdocs.cloud/merger/">官方文档</a>。</p>
</li>
<li>
<p><strong>单次请求中可以合并的文档数量有限制吗？</strong><br>
云服务施加的是大小限制，而不是严格的文档计数。只要合并后的总大小在您账户配额范围内，您可以合并数十个文件。对于非常大的批次，建议先将文件上传到 GroupDocs 存储，然后通过 ID 引用它们。</p>
</li>
<li>
<p><strong>我需要担心开发与生产环境的授权问题吗？</strong><br>
开发和测试可以使用从<a href="https://purchase.groupdocs.cloud/temporary-license/">临时授权页面</a>获取的临时授权。对于生产部署，请购买完整授权以解锁无限合并和优先支持。</p>
</li>
</ul>
<h2 id="阅读更多">阅读更多</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/zh/merger/password-protect-zip-file-using-password-protection-software/">使用密码保护软件对 ZIP 文件进行密码保护</a></li>
<li><a href="https://blog.groupdocs.cloud/zh/merger/password-protect-excel-using-password-protection-service/">使用密码保护服务对 Excel 进行密码保护</a></li>
<li><a href="https://blog.groupdocs.cloud/zh/merger/combine-word-documents-in-csharp/">在 C# 中合并 Word 文档</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
