<?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/ar/tag/nodejs-conversion/</link>
    <description>Recent content in nodejs conversion on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ar</language>
    <lastBuildDate>Mon, 03 Aug 2026 10:51:03 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/ar/tag/nodejs-conversion/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>تحويل PDF إلى DOCX في Node.JS</title>
      <link>https://blog-qa.groupdocs.cloud/ar/conversion/pdf-to-docx-conversion-in-nodejs/</link>
      <pubDate>Mon, 03 Aug 2026 10:51:03 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/ar/conversion/pdf-to-docx-conversion-in-nodejs/</guid>
      <description>تحويل PDF إلى DOCX في Node.JS باستخدام GroupDocs.Conversion Cloud SDK. يوضح هذا الدليل كودًا غير متزامن، واستدعاءات REST عبر cURL، وخطوات التثبيت، ونصائح أفضل الممارسات.</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> واجهة برمجة تطبيقات قوية تجعل هذه المهمة بسيطة وقابلة للتوسع. في هذا الدليل ستشاهد عينة شفرة غير متزامنة كاملة، وتتعلم كيفية تحقيق النتيجة نفسها باستخدام استدعاءات REST عبر cURL، وتقوم بإعداد SDK، وتطبق توصيات أفضل الممارسات للتحويلات الموثوقة.</p>
<h2 id="مثال-كامل-على-الكود-تحويل-pdf-إلى-docx-بشكل-غير-متزامن-في-nodejs">مثال كامل على الكود: تحويل PDF إلى DOCX بشكل غير متزامن في Node.JS</h2>
<p>يوضح هذا المثال كيفية إجراء تحويل PDF إلى DOCX بشكل غير متزامن باستخدام GroupDocs.Conversion Cloud SDK for Node.js.</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>يمكنك تحقيق نفس تحويل 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>
<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>
<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/">الوثائق الرسمية لواجهة برمجة التطبيقات</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</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>حساب GroupDocs Cloud مع client ID و client secret.</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 بسيطًا، سواء كنت تفضل مكتبة كاملة الميزات أو استدعاءات 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>
تقوم الواجهة البرمجية بمعالجة مستند واحد لكل طلب، ولكن يمكنك تكرار قائمة الملفات في 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/ar/conversion/step-by-step-csv-to-pdf-conversion-example-in-nodejs/">مثال خطوة بخطوة لتحويل CSV إلى PDF في Node.JS</a></li>
<li><a href="https://blog.groupdocs.cloud/ar/conversion/convert-pdf-to-doc-with-nodejs/">تحويل PDF إلى Word في Node.js | PDF إلى DOCX عبر الإنترنت باستخدام REST API</a></li>
<li><a href="https://blog.groupdocs.cloud/ar/conversion/convert-doc-to-pdf-with-nodejs/">تحويل Word إلى PDF في Node.js | DOC/DOCX إلى PDF عبر الإنترنت باستخدام REST API</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
