<?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/ru/tag/nodejs-conversion/</link>
    <description>Recent content in nodejs conversion on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ru</language>
    <lastBuildDate>Mon, 03 Aug 2026 10:51:03 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/ru/tag/nodejs-conversion/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Конвертация PDF в DOCX в Node.JS</title>
      <link>https://blog-qa.groupdocs.cloud/ru/conversion/pdf-to-docx-conversion-in-nodejs/</link>
      <pubDate>Mon, 03 Aug 2026 10:51:03 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/ru/conversion/pdf-to-docx-conversion-in-nodejs/</guid>
      <description>Конвертировать PDF в DOCX в Node.JS с помощью GroupDocs.Conversion Cloud SDK. Это руководство показывает асинхронный код, вызовы 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-в-docx-в-nodejs">Полный пример кода: Асинхронное преобразование PDF в DOCX в Node.JS</h2>
<p>Этот пример демонстрирует, как выполнить асинхронное преобразование PDF в DOCX с использованием GroupDocs.Conversion Cloud SDK for Node.js.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#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>Вы можете выполнить ту же конвертацию PDF в DOCX без написания кода, вызывая REST‑конечные точки GroupDocs.Conversion Cloud напрямую. Ниже приведены шаги, показывающие, как получить токен доступа, загрузить 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>
<!--[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/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><!--[CODE_SNIPPET_END]-->
<p>Ответ возвращает путь к сгенерированному файлу DOCX.</p>
<ol start="4">
<li><strong>Скачать преобразованный DOCX</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 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><!--[CODE_SNIPPET_END]-->
<p>Для получения более подробной информации о полезных нагрузках запросов и дополнительных параметрах см. <a href="https://docs.groupdocs.cloud/conversion/">официальную документацию API</a>.</p>
<h2 id="разбор-преобразования-pdf-в-docx-в-nodejs">Разбор преобразования PDF в DOCX в Node.JS</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 reference</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-для-nodejs">Установка и настройка GroupDocs.Conversion Cloud SDK для 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>Учетная запись GroupDocs Cloud с client ID и client secret.</li>
</ul>
</li>
<li>
<p><strong>Инициализировать SDK в вашем проекте</strong> (выдержка из полного примера)</p>
</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><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><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 простым, независимо от того, предпочитаете ли вы полнофункциональную библиотеку или прямые REST‑запросы с cURL. Следуя асинхронному примеру кода, правильно настраивая клиент и применяя приведённые выше рекомендации по производительности, вы сможете интегрировать надёжное преобразование документов в любой сервис 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>preserveOriginalFormatting</code> в <code>DocxConvertOptions</code>, чтобы выбрать между точностью и скоростью. См. <a href="https://reference.groupdocs.cloud/conversion/">Справка API</a> для всех параметров.</p>
</li>
<li>
<p><strong>Каковы ограничения по размеру файлов для конвертации PDF в DOCX?</strong><br>
Облачный сервис принимает файлы размером до 200 МБ для бесплатных аккаунтов; более крупные файлы требуют обновлённого плана. Загрузки передаются потоково, поэтому использование памяти на вашем сервере остаётся низким.</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/ru/conversion/step-by-step-csv-to-pdf-conversion-example-in-nodejs/">Пошаговый пример преобразования CSV в PDF на Node.JS</a></li>
<li><a href="https://blog.groupdocs.cloud/ru/conversion/convert-pdf-to-doc-with-nodejs/">Преобразование PDF в Word в Node.js | PDF в DOCX онлайн с REST API</a></li>
<li><a href="https://blog.groupdocs.cloud/ru/conversion/convert-doc-to-pdf-with-nodejs/">Преобразование Word в PDF в Node.js | DOC/DOCX в PDF онлайн с REST API</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
