<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>nodejs conversion on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/zh/tag/nodejs-conversion/</link>
    <description>Recent content in nodejs conversion on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <lastBuildDate>Mon, 03 Aug 2026 10:51:03 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/zh/tag/nodejs-conversion/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>在 Node.JS 中将 PDF 转换为 DOCX</title>
      <link>https://blog-qa.groupdocs.cloud/zh/conversion/pdf-to-docx-conversion-in-nodejs/</link>
      <pubDate>Mon, 03 Aug 2026 10:51:03 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/zh/conversion/pdf-to-docx-conversion-in-nodejs/</guid>
      <description>使用 GroupDocs.Conversion Cloud SDK 在 Node.JS 中将 PDF 转换为 DOCX。本指南展示了异步代码、cURL REST 调用、安装步骤以及最佳实践提示。</description>
      <content:encoded><![CDATA[<p>将 <a href="https://docs.fileformat.com/pdf">PDF</a> 文件转换为 <a href="https://docs.fileformat.com/word-processing/docx/">DOCX</a> 格式是构建文档中心应用时的常见需求，尤其是当您需要可编辑的 Word 输出时。 <a href="https://products.groupdocs.cloud/conversion/nodejs/">GroupDocs.Conversion Cloud SDK for Node.js</a> 提供了强大的 API，使此任务变得简单且可扩展。在本指南中，您将看到完整的异步代码示例，了解如何使用 cURL REST 调用实现相同的结果，设置 SDK，并应用最佳实践建议以实现可靠的转换。</p>
<h2 id="完整代码示例在-nodejs-中进行异步-pdf-转-docx-转换">完整代码示例：在 Node.JS 中进行异步 PDF 转 DOCX 转换</h2>
<p>本示例演示如何使用 GroupDocs.Conversion Cloud SDK for Node.js 执行异步的 PDF 转 DOCX 转换。</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:#75715e">// PDF to DOCX conversion using GroupDocs.Conversion Cloud SDK for Node.js
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">GroupDocsConversionCloud</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#39;groupdocs-conversion-cloud&#39;</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">&#39;path&#39;</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"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">CLIENT_ID</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">process</span>.<span style="color:#a6e22e">env</span>.<span style="color:#a6e22e">GROUPDOCS_CLIENT_ID</span> <span style="color:#f92672">||</span> <span style="color:#e6db74">&#39;YOUR_CLIENT_ID&#39;</span>;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">CLIENT_SECRET</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">process</span>.<span style="color:#a6e22e">env</span>.<span style="color:#a6e22e">GROUPDOCS_CLIENT_SECRET</span> <span style="color:#f92672">||</span> <span style="color:#e6db74">&#39;YOUR_CLIENT_SECRET&#39;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Initialize API client
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">apiInstance</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsConversionCloud</span>.<span style="color:#a6e22e">ConversionApi</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">apiInstance</span>.<span style="color:#a6e22e">apiClient</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsConversionCloud</span>.<span style="color:#a6e22e">ApiClient</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">apiInstance</span>.<span style="color:#a6e22e">apiClient</span>.<span style="color:#a6e22e">basePath</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;https://api.groupdocs.cloud&#39;</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">apiInstance</span>.<span style="color:#a6e22e">apiClient</span>.<span style="color:#a6e22e">authentications</span>[<span style="color:#e6db74">&#39;JWT&#39;</span>].<span style="color:#a6e22e">clientId</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">CLIENT_ID</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">apiInstance</span>.<span style="color:#a6e22e">apiClient</span>.<span style="color:#a6e22e">authentications</span>[<span style="color:#e6db74">&#39;JWT&#39;</span>].<span style="color:#a6e22e">clientSecret</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">CLIENT_SECRET</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// -------------------- Conversion Logic --------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">async</span> <span style="color:#66d9ef">function</span> <span style="color:#a6e22e">convertPdfToDocx</span>() {
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">try</span> {
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// Input file information (must already be uploaded to GroupDocs Cloud storage)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">inputFileInfo</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsConversionCloud</span>.<span style="color:#a6e22e">FileInfo</span>();
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">inputFileInfo</span>.<span style="color:#a6e22e">filePath</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">path</span>.<span style="color:#a6e22e">normalize</span>(<span style="color:#e6db74">&#39;input.pdf&#39;</span>); <span style="color:#75715e">// generic path in cloud storage
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// DOCX specific conversion options (optional, shown for demonstration)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">docxOptions</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsConversionCloud</span>.<span style="color:#a6e22e">DocxConvertOptions</span>();
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">docxOptions</span>.<span style="color:#a6e22e">preserveOriginalFormatting</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">true</span>; <span style="color:#75715e">// keep original PDF layout as much as possible
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#a6e22e">docxOptions</span>.<span style="color:#a6e22e">password</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">null</span>; <span style="color:#75715e">// if PDF is password protected, set it here
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Build conversion request
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">convertRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsConversionCloud</span>.<span style="color:#a6e22e">ConvertDocumentRequest</span>();
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">convertRequest</span>.<span style="color:#a6e22e">format</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;docx&#39;</span>;
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">convertRequest</span>.<span style="color:#a6e22e">fileInfo</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">inputFileInfo</span>;
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">convertRequest</span>.<span style="color:#a6e22e">outputPath</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">path</span>.<span style="color:#a6e22e">normalize</span>(<span style="color:#e6db74">&#39;output.docx&#39;</span>); <span style="color:#75715e">// result will be stored in cloud storage
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#a6e22e">convertRequest</span>.<span style="color:#a6e22e">options</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">docxOptions</span>; <span style="color:#75715e">// attach format‑specific options
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Perform conversion (async)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">conversionResult</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">apiInstance</span>.<span style="color:#a6e22e">convertDocument</span>(<span style="color:#a6e22e">convertRequest</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// conversionResult contains the path of the generated file and other metadata
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">log</span>(<span style="color:#e6db74">&#39;Conversion succeeded.&#39;</span>);
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">log</span>(<span style="color:#e6db74">&#39;Output file path:&#39;</span>, <span style="color:#a6e22e">conversionResult</span>.<span style="color:#a6e22e">path</span>);
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">log</span>(<span style="color:#e6db74">&#39;File size (bytes):&#39;</span>, <span style="color:#a6e22e">conversionResult</span>.<span style="color:#a6e22e">size</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:#75715e">// Detailed error handling
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">if</span> (<span style="color:#a6e22e">error</span>.<span style="color:#a6e22e">response</span> <span style="color:#f92672">&amp;&amp;</span> <span style="color:#a6e22e">error</span>.<span style="color:#a6e22e">response</span>.<span style="color:#a6e22e">body</span>) {
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">error</span>(<span style="color:#e6db74">&#39;API error:&#39;</span>, <span style="color:#a6e22e">error</span>.<span style="color:#a6e22e">response</span>.<span style="color:#a6e22e">body</span>);
</span></span><span style="display:flex;"><span>        } <span style="color:#66d9ef">else</span> {
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">error</span>(<span style="color:#e6db74">&#39;Unexpected error:&#39;</span>, <span style="color:#a6e22e">error</span>.<span style="color:#a6e22e">message</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:#75715e">// -------------------- Execution --------------------
</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:#75715e">// Optional: set a timeout to avoid hanging indefinitely
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">timeoutMs</span> <span style="color:#f92672">=</span> <span style="color:#ae81ff">300000</span>; <span style="color:#75715e">// 5 minutes
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">timeout</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">setTimeout</span>(() =&gt; {
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">error</span>(<span style="color:#e6db74">&#39;Conversion timed out after&#39;</span>, <span style="color:#a6e22e">timeoutMs</span> <span style="color:#f92672">/</span> <span style="color:#ae81ff">1000</span>, <span style="color:#e6db74">&#39;seconds&#39;</span>);
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">process</span>.<span style="color:#a6e22e">exit</span>(<span style="color:#ae81ff">1</span>);
</span></span><span style="display:flex;"><span>    }, <span style="color:#a6e22e">timeoutMs</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">convertPdfToDocx</span>();
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">clearTimeout</span>(<span style="color:#a6e22e">timeout</span>);
</span></span><span style="display:flex;"><span>    <span style="color:#75715e">// Graceful shutdown
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#a6e22e">process</span>.<span style="color:#a6e22e">exit</span>(<span style="color:#ae81ff">0</span>);
</span></span><span style="display:flex;"><span>})();
</span></span></code></pre></div><!--[COMPLETE_CODE_SNIPPET_END]-->
<blockquote>
<p><strong>注意：</strong> 此代码示例演示了核心功能。在项目中使用之前，请确保更新文件路径（<code>input.pdf</code>、<code>output.docx</code> 等）以匹配实际位置，验证已安装所有必需的依赖项，并在开发环境中彻底测试。如果遇到任何问题，请参阅<a href="https://docs.groupdocs.cloud/conversion/">官方文档</a>或联系<a href="https://forum.groupdocs.cloud/c/conversion/11">支持团队</a>获取帮助。</p>
</blockquote>
<h2 id="使用-curl-和-rest-api-转换文档">使用 cURL 和 REST API 转换文档</h2>
<p>您可以通过直接调用 GroupDocs.Conversion Cloud REST 端点，在无需编写代码的情况下实现相同的 PDF 转 DOCX 转换。以下步骤展示了如何获取访问令牌、上传 PDF、启动转换以及下载生成的 DOCX 文件。</p>
<ol>
<li><strong>进行身份验证并获取访问令牌</strong><br>
将 <code>YOUR_CLIENT_ID</code> 和 <code>YOUR_CLIENT_SECRET</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-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v1.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/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;grant_type&#34;:&#34;client_credentials&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;client_id&#34;:&#34;YOUR_CLIENT_ID&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;client_secret&#34;:&#34;YOUR_CLIENT_SECRET&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">         }&#39;</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>响应中包含 <code>access_token</code>，您将在后续调用中使用它。</p>
<ol start="2">
<li><strong>上传源 PDF</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/v1.0/storage/file/input.pdf&#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/pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     --data-binary @./local/input.pdf
</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/v1.0/conversion/convert&#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;format&#34;:&#34;docx&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;fileInfo&#34;:{&#34;filePath&#34;:&#34;input.pdf&#34;},
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;outputPath&#34;:&#34;output.docx&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;options&#34;:{&#34;preserveOriginalFormatting&#34;:true}
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">         }&#39;</span>
</span></span></code></pre></div><p>响应返回生成的 DOCX 文件的路径。</p>
<ol start="4">
<li><strong>下载已转换的 DOCX</strong></li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X GET <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v1.0/storage/file/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 ./local/output.docx
</span></span></code></pre></div><p>有关请求负载和其他选项的更多详细信息，请参阅<a href="https://docs.groupdocs.cloud/conversion/">官方 API 文档</a>。</p>
<h2 id="拆解-nodejs-中的-pdf-转-docx-转换">拆解 Node.JS 中的 PDF 转 DOCX 转换</h2>
<p>以下是异步代码示例关键部分的简要概述。</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-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">GroupDocsConversionCloud</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#39;groupdocs-conversion-cloud&#39;</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">apiInstance</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsConversionCloud</span>.<span style="color:#a6e22e">ConversionApi</span>();
</span></span></code></pre></div><p><code>ConversionApi</code> 类（<a href="https://reference.groupdocs.cloud/conversion/">API 参考</a>）是所有转换操作的入口点。</p>
<ol start="2">
<li><strong>设置身份验证凭据</strong></li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#a6e22e">apiInstance</span>.<span style="color:#a6e22e">apiClient</span>.<span style="color:#a6e22e">authentications</span>[<span style="color:#e6db74">&#39;JWT&#39;</span>].<span style="color:#a6e22e">clientId</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">CLIENT_ID</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">apiInstance</span>.<span style="color:#a6e22e">apiClient</span>.<span style="color:#a6e22e">authentications</span>[<span style="color:#e6db74">&#39;JWT&#39;</span>].<span style="color:#a6e22e">clientSecret</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">CLIENT_SECRET</span>;
</span></span></code></pre></div><p>JWT 身份验证可确保对云服务的每个请求的安全。</p>
<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-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">inputFileInfo</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsConversionCloud</span>.<span style="color:#a6e22e">FileInfo</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">inputFileInfo</span>.<span style="color:#a6e22e">filePath</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">path</span>.<span style="color:#a6e22e">normalize</span>(<span style="color:#e6db74">&#39;input.pdf&#39;</span>);
</span></span></code></pre></div><p><code>FileInfo</code> 告诉 API 源 PDF 在 GroupDocs Cloud 存储中的位置。</p>
<ol start="4">
<li><strong>配置 DOCX‑特定选项</strong></li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">docxOptions</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsConversionCloud</span>.<span style="color:#a6e22e">DocxConvertOptions</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">docxOptions</span>.<span style="color:#a6e22e">preserveOriginalFormatting</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">true</span>;
</span></span></code></pre></div><p><code>DocxConvertOptions</code> 让您保持原始布局，并在需要时处理密码。</p>
<ol start="5">
<li><strong>创建并发送转换请求</strong></li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">convertRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsConversionCloud</span>.<span style="color:#a6e22e">ConvertDocumentRequest</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">convertRequest</span>.<span style="color:#a6e22e">format</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;docx&#39;</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">convertRequest</span>.<span style="color:#a6e22e">fileInfo</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">inputFileInfo</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">convertRequest</span>.<span style="color:#a6e22e">outputPath</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">path</span>.<span style="color:#a6e22e">normalize</span>(<span style="color:#e6db74">&#39;output.docx&#39;</span>);
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">convertRequest</span>.<span style="color:#a6e22e">options</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">docxOptions</span>;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">conversionResult</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">apiInstance</span>.<span style="color:#a6e22e">convertDocument</span>(<span style="color:#a6e22e">convertRequest</span>);
</span></span></code></pre></div><p><code>convertDocument</code> 方法执行实际的转换，并返回元数据，例如输出路径和文件大小。</p>
<h2 id="安装和配置-groupdocsconversion-cloud-sdk-for-nodejs">安装和配置 GroupDocs.Conversion Cloud SDK for Node.JS</h2>
<ol>
<li><strong>安装软件包</strong></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-bash" data-lang="bash"><span style="display:flex;"><span>npm install groupdocs-conversion-cloud
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>该软件包可从公共 npm 注册表获取。有关版本详细信息，请参阅<a href="https://releases.groupdocs.cloud/conversion/nodejs/">下载页面</a>。</p>
<ol start="2">
<li>
<p><strong>先决条件</strong></p>
<ul>
<li>Node.js 12 或更高版本。</li>
<li>具有 client ID 和 client secret 的 GroupDocs Cloud 帐户。</li>
</ul>
</li>
<li>
<p><strong>在项目中初始化 SDK</strong>（摘自完整示例）</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">GroupDocsConversionCloud</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#39;groupdocs-conversion-cloud&#39;</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">apiInstance</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsConversionCloud</span>.<span style="color:#a6e22e">ConversionApi</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">apiInstance</span>.<span style="color:#a6e22e">apiClient</span>.<span style="color:#a6e22e">basePath</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;https://api.groupdocs.cloud&#39;</span>;
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>如果使用区域端点，请调整 <code>basePath</code>。</p>
<h2 id="高性能文档转换的最佳实践">高性能文档转换的最佳实践</h2>
<ul>
<li><strong>重用 API 客户端</strong> 而不是为每次转换创建新实例；这可以减少身份验证开销。</li>
<li><strong>启用流式上传</strong> 以处理大型 PDF，避免将整个文件加载到内存中。</li>
<li><strong>设置合理的超时时间</strong>（例如 5 分钟），以防止作业挂起，同时仍允许复杂文档完成。</li>
<li><strong>仅在需要时保留原始格式</strong>；禁用它可以加快仅文本 PDF 的转换速度。</li>
<li><strong>监控 API 使用限制</strong> 在您的 GroupDocs 帐户仪表板中，以避免批量操作期间被限流。</li>
</ul>
<h2 id="结论">结论</h2>
<p><a href="https://products.groupdocs.cloud/conversion/nodejs/">GroupDocs.Conversion Cloud SDK for Node.js</a> 使 PDF 转换为 DOCX 变得直观，无论您是更喜欢功能齐全的库还是使用 cURL 的直接 REST 调用。通过遵循异步代码示例、正确配置客户端并应用上述性能技巧，您可以在任何 Node.JS 服务中集成可靠的文档转换。请记得为生产环境获取适当的许可证；定价详情可在产品页面查看，临时许可证可从 <a href="https://purchase.groupdocs.cloud/temporary-license/">临时许可证页面</a> 获取以进行评估。</p>
<h2 id="常见问题">常见问题</h2>
<ul>
<li>
<p><strong>Node.JS 中的 PDF 转 DOCX 转换如何处理复杂布局？</strong><br>
SDK 默认尝试保留原始格式。您可以在 <code>DocxConvertOptions</code> 中切换 <code>preserveOriginalFormatting</code> 以在保真度和速度之间进行权衡。查看 <a href="https://reference.groupdocs.cloud/conversion/">API 参考</a> 了解所有选项。</p>
</li>
<li>
<p><strong>PDF 转 DOCX 转换的文件大小限制是什么？</strong><br>
云服务对免费账户接受的文件大小上限为 200 MB；更大的文件需要升级计划。上传采用流式传输，因此服务器的内存使用保持低。</p>
</li>
<li>
<p><strong>我可以在单个请求中将多个 PDF 转换为 DOCX 吗？</strong><br>
API 每次请求只处理一个文档，但您可以在 Node.JS 中遍历文件列表并并行运行转换，遵守您账户的并发限制。</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/conversion/step-by-step-csv-to-pdf-conversion-example-in-nodejs/">Node.JS 中 CSV 转 PDF 的分步转换示例</a></li>
<li><a href="https://blog.groupdocs.cloud/zh/conversion/convert-pdf-to-doc-with-nodejs/">在 Node.js 中将 PDF 转换为 Word | 使用 REST API 在线将 PDF 转换为 DOCX</a></li>
<li><a href="https://blog.groupdocs.cloud/zh/conversion/convert-doc-to-pdf-with-nodejs/">在 Node.js 中将 Word 转换为 PDF | 使用 REST API 在线将 DOC/DOCX 转换为 PDF</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
