<?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>pdf processing on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/ar/tag/pdf-processing/</link>
    <description>Recent content in pdf processing on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ar</language>
    <lastBuildDate>Fri, 25 Sep 2026 09:41:12 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/ar/tag/pdf-processing/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>تقسيم PDF إلى ملفات PDF متعددة في Node.JS</title>
      <link>https://blog-qa.groupdocs.cloud/ar/merger/split-pdf-into-multiple-pdf-in-nodejs/</link>
      <pubDate>Fri, 25 Sep 2026 09:41:12 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/ar/merger/split-pdf-into-multiple-pdf-in-nodejs/</guid>
      <description>تعلم كيفية تقسيم ملفات PDF في Node.js باستخدام GroupDocs.Merger Cloud SDK. احصل على كود خطوة بخطوة، أمثلة cURL، ونصائح التكوين لتقسيم PDF.</description>
      <content:encoded><![CDATA[<p>غالبًا ما يحتاج المطورون إلى تقسيم ملفات <a href="https://docs.fileformat.com/pdf">PDF</a> الكبيرة إلى أقسام أصغر وأكثر قابلية للإدارة. باستخدام <a href="https://products.groupdocs.cloud/merger/nodejs/">GroupDocs.Merger Cloud SDK for Node.JS</a>، يصبح تقسيم ملف PDF إلى أجزاء متعددة أمرًا بسيطًا، حيث تتولى خدمة السحابة الجزء الأكبر من العمل بينما تركز أنت على منطق التطبيق الخاص بك. يقدم هذا الدليل مثالًا عمليًا كاملًا، ويظهر كيفية تنفيذ نفس المهمة عبر cURL، ويشرح خيارات التكوين التي تتيح لك ضبط عملية التقسيم بدقة.</p>
<h2 id="تقسيم-pdf-إلى-ملفات-pdf-متعددة-في-nodejs---مثال-كامل-للكود">تقسيم PDF إلى ملفات PDF متعددة في Node.JS - مثال كامل للكود</h2>
<p>يوضح هذا المثال كيفية تقسيم ملف PDF إلى ملفات PDF متعددة باستخدام GroupDocs.Merger 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:#66d9ef">const</span> <span style="color:#a6e22e">fs</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#39;fs&#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 style="color:#66d9ef">const</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#39;@groupdocs/merger-cloud&#39;</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// ---------- Set up API credentials ----------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">client</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">ApiClient</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">client</span>.<span style="color:#a6e22e">appSid</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;YOUR_APP_SID&#39;</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">client</span>.<span style="color:#a6e22e">appKey</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;YOUR_APP_KEY&#39;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// ---------- Initialize API instances ----------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">mergerApi</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">MergerApi</span>(<span style="color:#a6e22e">client</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">storageApi</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">StorageApi</span>(<span style="color:#a6e22e">client</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// ---------- Helper to upload a local file to cloud storage ----------
</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">uploadFile</span>(<span style="color:#a6e22e">localPath</span>, <span style="color:#a6e22e">cloudPath</span>) {
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">fileData</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">fs</span>.<span style="color:#a6e22e">readFileSync</span>(<span style="color:#a6e22e">localPath</span>);
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">uploadRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">UploadFileRequest</span>({
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">cloudPath</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">file</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">fileData</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">storageApi</span>.<span style="color:#a6e22e">uploadFile</span>(<span style="color:#a6e22e">uploadRequest</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">// ---------- Helper to download a cloud file to local storage ----------
</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">downloadFile</span>(<span style="color:#a6e22e">cloudPath</span>, <span style="color:#a6e22e">localPath</span>) {
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">downloadRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">DownloadFileRequest</span>({ <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">cloudPath</span> });
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">response</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">storageApi</span>.<span style="color:#a6e22e">downloadFile</span>(<span style="color:#a6e22e">downloadRequest</span>);
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">fs</span>.<span style="color:#a6e22e">writeFileSync</span>(<span style="color:#a6e22e">localPath</span>, <span style="color:#a6e22e">response</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">// ---------- Main 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:#66d9ef">try</span> {
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// 1. Upload source PDF to 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">localInputPdf</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">path</span>.<span style="color:#a6e22e">resolve</span>(<span style="color:#a6e22e">__dirname</span>, <span style="color:#e6db74">&#39;input.pdf&#39;</span>);          <span style="color:#75715e">// local source PDF
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">cloudInputPdf</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;input/input.pdf&#39;</span>;                            <span style="color:#75715e">// cloud path
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">uploadFile</span>(<span style="color:#a6e22e">localInputPdf</span>, <span style="color:#a6e22e">cloudInputPdf</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;Uploaded PDF to cloud storage.&#39;</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// 2. Configure split options (example: split into two parts: pages 1‑2 and 3‑5)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">splitOptions</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">SplitOptions</span>({
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">pages</span><span style="color:#f92672">:</span> [<span style="color:#e6db74">&#39;1-2&#39;</span>, <span style="color:#e6db74">&#39;3-5&#39;</span>]                                            <span style="color:#75715e">// page ranges to split
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        });
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// 3. Build split request
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">splitRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">SplitDocumentRequest</span>({
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">fileInfo</span><span style="color:#f92672">:</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">FileInfo</span>({ <span style="color:#a6e22e">filePath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">cloudInputPdf</span> }),
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">options</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">splitOptions</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">// 4. Execute split operation
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">splitResult</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">mergerApi</span>.<span style="color:#a6e22e">splitDocument</span>(<span style="color:#a6e22e">splitRequest</span>);
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">log</span>(<span style="color:#e6db74">`Split operation completed. </span><span style="color:#e6db74">${</span><span style="color:#a6e22e">splitResult</span>.<span style="color:#a6e22e">length</span><span style="color:#e6db74">}</span><span style="color:#e6db74"> parts generated.`</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// 5. Download each split part and save locally
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">for</span> (<span style="color:#66d9ef">let</span> <span style="color:#a6e22e">i</span> <span style="color:#f92672">=</span> <span style="color:#ae81ff">0</span>; <span style="color:#a6e22e">i</span> <span style="color:#f92672">&lt;</span> <span style="color:#a6e22e">splitResult</span>.<span style="color:#a6e22e">length</span>; <span style="color:#a6e22e">i</span><span style="color:#f92672">++</span>) {
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">partInfo</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">splitResult</span>[<span style="color:#a6e22e">i</span>];
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">localOutputPath</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">path</span>.<span style="color:#a6e22e">resolve</span>(<span style="color:#a6e22e">__dirname</span>, <span style="color:#e6db74">`output_part_</span><span style="color:#e6db74">${</span><span style="color:#a6e22e">i</span> <span style="color:#f92672">+</span> <span style="color:#ae81ff">1</span><span style="color:#e6db74">}</span><span style="color:#e6db74">.pdf`</span>);
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">downloadFile</span>(<span style="color:#a6e22e">partInfo</span>.<span style="color:#a6e22e">path</span>, <span style="color:#a6e22e">localOutputPath</span>);
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">log</span>(<span style="color:#e6db74">`Saved split part </span><span style="color:#e6db74">${</span><span style="color:#a6e22e">i</span> <span style="color:#f92672">+</span> <span style="color:#ae81ff">1</span><span style="color:#e6db74">}</span><span style="color:#e6db74"> to </span><span style="color:#e6db74">${</span><span style="color:#a6e22e">localOutputPath</span><span style="color:#e6db74">}</span><span style="color:#e6db74">`</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">// 6. (Optional) Clean up cloud storage – delete uploaded source file
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">deleteRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">DeleteFileRequest</span>({ <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">cloudInputPdf</span> });
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">storageApi</span>.<span style="color:#a6e22e">deleteFile</span>(<span style="color:#a6e22e">deleteRequest</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;Cleaned up source file from cloud storage.&#39;</span>);
</span></span><span style="display:flex;"><span>    } <span style="color:#66d9ef">catch</span> (<span style="color:#a6e22e">error</span>) {
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">error</span>(<span style="color:#e6db74">&#39;Error during PDF split process:&#39;</span>, <span style="color:#a6e22e">error</span>);
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>})();
</span></span></code></pre></div><blockquote>
<p><strong>ملاحظة:</strong> هذا المثال البرمجي يوضح الوظيفة الأساسية. قبل استخدامه في مشروعك، تأكد من تحديث أي مسارات ملفات وقيم التكوين لتتناسب مع بيئتك الفعلية، وتحقق من أن جميع الاعتمادات المطلوبة مثبتة بشكل صحيح، واختبر بدقة في بيئة التطوير الخاصة بك. إذا واجهت أي مشكلات، يرجى الرجوع إلى <a href="https://docs.groupdocs.cloud/merger/">الوثائق الرسمية</a> أو التواصل مع <a href="https://forum.groupdocs.cloud/c/merger/18">فريق الدعم</a> للحصول على المساعدة.</p>
</blockquote>
<h2 id="تقسيم-pdf-باستخدام-rest-api-مع-curl">تقسيم PDF باستخدام REST API مع cURL</h2>
<p>إذا كنت تفضل نهجًا بحتًا يعتمد على REST، يمكن تنفيذ عملية التقسيم نفسها باستخدام أوامر cURL. توضح الخطوات أدناه كيفية الحصول على رمز الوصول، تحميل ملف PDF المصدر، تشغيل عملية التقسيم، وتنزيل كل جزء.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 1. Get an access token (replace YOUR_CLIENT_ID and YOUR_CLIENT_SECRET)</span>
</span></span><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.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/x-www-form-urlencoded&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#34;grant_type=client_credentials&amp;client_id=YOUR_CLIENT_ID&amp;client_secret=YOUR_CLIENT_SECRET&#34;</span>
</span></span></code></pre></div><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><span style="color:#75715e"># 2. Upload the source PDF (replace YOUR_ACCESS_TOKEN and adjust paths)</span>
</span></span><span style="display:flex;"><span>curl -X PUT <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.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 @./input.pdf
</span></span></code></pre></div><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><span style="color:#75715e"># 3. Execute the split operation (pages 1-2 and 3-5)</span>
</span></span><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/merger/split&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;fileInfo&#34;: { &#34;filePath&#34;: &#34;input.pdf&#34; },
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;options&#34;: { &#34;pages&#34;: [&#34;1-2&#34;,&#34;3-5&#34;] }
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">         }&#39;</span>
</span></span></code></pre></div><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><span style="color:#75715e"># 4. Download each generated part (example for part 1)</span>
</span></span><span style="display:flex;"><span>curl -X GET <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/file/output_part_1.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>     -o ./output_part_1.pdf
</span></span></code></pre></div><p>للحصول على قائمة كاملة بنقاط النهاية والمعلمات، راجع <a href="https://reference.groupdocs.cloud/merger/">وثائق API الرسمية</a>.</p>
<h2 id="كيفية-عمل-تقسيم-pdf-إلى-ملفات-pdf-متعددة-في-nodejs">كيفية عمل تقسيم PDF إلى ملفات PDF متعددة في Node.JS</h2>
<p>فهم التدفق يساعدك على تعديل الكود لتناسب السيناريوهات الأكثر تعقيدًا.</p>
<ol>
<li><strong>تهيئة عميل API</strong> - <code>new GroupDocsMergerCloud.ApiClient()</code> ينشئ عميلًا يحتفظ بـ App SID و App Key الخاصين بك.</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">client</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">ApiClient</span>();
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">client</span>.<span style="color:#a6e22e">appSid</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;YOUR_APP_SID&#39;</span>;
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">client</span>.<span style="color:#a6e22e">appKey</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;YOUR_APP_KEY&#39;</span>;
</span></span></code></pre></div><ol start="2">
<li><strong>تحميل ملف المصدر</strong> - تقوم الدالة المساعدة <code>uploadFile</code> بقراءة ملف PDF المحلي وإرساله إلى التخزين السحابي باستخدام <code>storageApi.uploadFile</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-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">await</span> <span style="color:#a6e22e">uploadFile</span>(<span style="color:#a6e22e">localInputPdf</span>, <span style="color:#a6e22e">cloudInputPdf</span>);
</span></span></code></pre></div><ol start="3">
<li><strong>تكوين خيارات التقسيم</strong> - <code>new GroupDocsMergerCloud.SplitOptions({ pages: ['1-2', '3-5'] })</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-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">splitOptions</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsMergerCloud</span>.<span style="color:#a6e22e">SplitOptions</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">pages</span><span style="color:#f92672">:</span> [<span style="color:#e6db74">&#39;1-2&#39;</span>, <span style="color:#e6db74">&#39;3-5&#39;</span>]
</span></span><span style="display:flex;"><span>});
</span></span></code></pre></div><ol start="4">
<li><strong>إرسال طلب التقسيم</strong> - <code>mergerApi.splitDocument(splitRequest)</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-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">splitResult</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">mergerApi</span>.<span style="color:#a6e22e">splitDocument</span>(<span style="color:#a6e22e">splitRequest</span>);
</span></span></code></pre></div><ol start="5">
<li><strong>تنزيل النتائج</strong> - تقوم الحلقة بالتكرار على <code>splitResult</code>، وتستدعي <code>downloadFile</code> لكل جزء وتقوم بحفظه محليًا.
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">for</span> (<span style="color:#66d9ef">let</span> <span style="color:#a6e22e">i</span> <span style="color:#f92672">=</span> <span style="color:#ae81ff">0</span>; <span style="color:#a6e22e">i</span> <span style="color:#f92672">&lt;</span> <span style="color:#a6e22e">splitResult</span>.<span style="color:#a6e22e">length</span>; <span style="color:#a6e22e">i</span><span style="color:#f92672">++</span>) {
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">partInfo</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">splitResult</span>[<span style="color:#a6e22e">i</span>];
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">downloadFile</span>(<span style="color:#a6e22e">partInfo</span>.<span style="color:#a6e22e">path</span>, <span style="color:#a6e22e">localOutputPath</span>);
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div></li>
</ol>
<p>للحصول على تفاصيل أعمق حول كل فئة وطريقة، راجع <a href="https://reference.groupdocs.cloud/merger/">مرجع API</a>.</p>
<h2 id="المتطلبات-والإعداد">المتطلبات والإعداد</h2>
<p>قبل أن تبدأ، تأكد من أن لديك ما يلي:</p>
<ul>
<li>تم تثبيت Node.js 14 أو أحدث.</li>
<li>حساب GroupDocs Cloud مع App SID و App Key صالحين.</li>
<li>الوصول إلى الإنترنت لإجراء مكالمات API.</li>
</ul>
<p>قم بتثبيت SDK عبر npm وقم بتنزيل أحدث حزمة:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>npm install groupdocs-merger-cloud
</span></span></code></pre></div><p>يمكنك أيضًا جلب الملفات الثنائية مباشرةً من <a href="https://releases.groupdocs.cloud/merger/nodejs/">صفحة التحميل</a>.</p>
<h2 id="ضبط-خيارات-الانقسام">ضبط خيارات الانقسام</h2>
<p>يقدم كائن <code>SplitOptions</code> عدة خصائص يمكنك تعديلها:</p>
<ul>
<li><strong>pages</strong> - مصفوفة من نطاقات الصفحات (مثال: <code>['1-2','3-5']</code>). هذا هو الإعداد الأساسي المستخدم في المثال.</li>
<li><strong>outputPath</strong> - مجلد اختياري حيث سيتم تخزين ملفات التقسيم في التخزين السحابي.</li>
<li><strong>preserveMetadata</strong> - عند تعيينه إلى <code>true</code>، يتم نسخ بيانات تعريف المستند الأصلي إلى كل جزء. راجع <a href="https://reference.groupdocs.cloud/merger/">مرجع API</a> لمزيد من الخيارات.</li>
</ul>
<p>تعديل هذه القيم يتيح لك التحكم في الحجم والتسمية والبيانات الوصفية لكل ملف PDF ناتج.</p>
<h2 id="الخلاصة">الخلاصة</h2>
<p>يصبح تقسيم PDF إلى ملفات PDF متعددة في Node.JS أمرًا بسيطًا باستخدام <a href="https://products.groupdocs.cloud/merger/nodejs/">GroupDocs.Merger Cloud SDK for Node.JS</a>. يتعامل SDK مع تحميل الملفات، واختيار نطاق الصفحات، واسترجاع النتيجة، مما يتيح لك التركيز على دمج الناتج في سير عملك. تذكر تأمين App SID وApp Key الخاصين بك، وفكر في استخدام ترخيص تجاري للنشر في بيئات الإنتاج. تتوفر تفاصيل الأسعار على صفحة المنتج، ويمكنك الحصول على ترخيص مؤقت من <a href="https://purchase.groupdocs.cloud/temporary-license/">صفحة الترخيص المؤقت</a>. مع الشيفرة، وأمثلة cURL، ونصائح التكوين في هذا الدليل، أنت جاهز لتنفيذ تقسيم PDF قوي في تطبيقات Node.JS الخاصة بك.</p>
<h2 id="الأسئلة-المتكررة">الأسئلة المتكررة</h2>
<ul>
<li>
<p><strong>كيف أقوم بتقسيم ملف PDF إلى ملفات PDF متعددة في Node.JS باستخدام نطاقات صفحات مخصصة؟</strong><br>
استخدم خاصية <code>pages</code> في <code>SplitOptions</code> لتحديد أي نطاق تحتاجه، مثل <code>['1-3','4-6']</code>. سيقوم SDK بإنشاء ملف PDF منفصل لكل نطاق.</p>
</li>
<li>
<p><strong>هل يمكنني تقسيم ملف PDF دون تخزينه بشكل دائم في التخزين السحابي؟</strong><br>
نعم. بعد تحميل الملف المصدر وإكمال عملية التقسيم، يمكنك حذف الملف الأصلي باستخدام <code>storageApi.deleteFile</code> كما هو موضح في المثال.</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/merger/split-powerpoint-ppt-or-pptx-into-multiple-files-in-node.js/">تقسيم ملفات PowerPoint PPT أو PPTX إلى ملفات متعددة في Node.js</a></li>
<li><a href="https://blog.groupdocs.cloud/ar/merger/split-pdf-file-into-multiple-pdf-files-using-python/">تقسيم ملف PDF إلى ملفات PDF متعددة باستخدام Python</a></li>
<li><a href="https://blog.groupdocs.cloud/ar/merger/java-document-splitting-split-pdf-into-multiple-files-in-java/">واجهة برمجة تطبيقات تقسيم المستندات في Java - تقسيم PDF إلى ملفات متعددة في Java</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
