<?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-hant/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-hant</language>
    <lastBuildDate>Mon, 03 Aug 2026 10:51:03 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/zh-hant/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-hant/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-hant/conversion/pdf-to-docx-conversion-in-nodejs/</guid>
      <description>在 Node.JS 中使用 GroupDocs.Conversion Cloud SDK 將 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="完整程式碼範例非同步-pdf-轉換為-docxnodejs">完整程式碼範例：非同步 PDF 轉換為 DOCX（Node.JS）</h2>
<p>此範例示範如何使用 GroupDocs.Conversion Cloud SDK for Node.js 執行非同步的 PDF 轉換為 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-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><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>
<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><p>回應中包含 <code>access_token</code>，您將在後續呼叫中使用它。</p>
<ol start="2">
<li><strong>上傳來源 PDF</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>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><!--[CODE_SNIPPET_END]-->
<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>具有客戶端 ID 和客戶端密鑰的 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>PDF 轉 DOCX 在 Node.JS 中如何處理複雜版面？</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="read-more">Read More</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/zh-hant/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-hant/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-hant/conversion/convert-doc-to-pdf-with-nodejs/">在 Node.js 中將 Word 轉換為 PDF | 使用 REST API 的線上 DOC/DOCX 轉 PDF</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
