<?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>svg processing on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/fa/tag/svg-processing/</link>
    <description>Recent content in svg processing on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>fa</language>
    <lastBuildDate>Mon, 17 Aug 2026 08:29:07 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/fa/tag/svg-processing/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>تبدیل SVG به PNG در Node.JS</title>
      <link>https://blog-qa.groupdocs.cloud/fa/conversion/svg-to-png-conversion-in-nodejs/</link>
      <pubDate>Mon, 17 Aug 2026 08:29:07 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/fa/conversion/svg-to-png-conversion-in-nodejs/</guid>
      <description>نحوه تبدیل فایل‌های SVG به تصاویر PNG در Node.JS با استفاده از GroupDocs.Conversion Cloud SDK را بیاموزید. این راهنما شامل کد، مثال‌های cURL و بهترین شیوه‌ها است.</description>
      <content:encoded><![CDATA[<p>تبدیل گرافیک‌های برداری به تصاویر رستر یک نیاز مکرر هنگام تولید تصویر بندانگشتی، پیش‌نمایش یا PDFها در سرور است. <a href="https://products.groupdocs.cloud/conversion/nodejs/">GroupDocs.Conversion Cloud SDK for Node.JS</a> کتابخانه‌ای قدرتمند ارائه می‌دهد که تبدیل <a href="https://docs.fileformat.com/page-description-language/svg/">SVG</a> به <a href="https://docs.fileformat.com/image/png/">PNG</a> را به‌صورت کامل در ابر انجام می‌دهد. در این راهنما، یک مثال کامل عملی، یک جریان کاری cURL متناسب، نکات پیکربندی و توصیه‌های بهترین روش را خواهید دید. در پایان می‌توانید تبدیل سرور‑ساید SVG به PNG را در هر برنامه Node.JS یکپارچه کنید.</p>
<h2 id="مثال-کامل-کارآمد-برای-تبدیل-svg-به-png-در-nodejs">مثال کامل کارآمد برای تبدیل SVG به PNG در Node.JS</h2>
<p>این مثال نشان می‌دهد که چگونه می‌توان یک فایل SVG ذخیره شده در GroupDocs Cloud storage را به تصویر PNG تبدیل کرد با استفاده از 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:#66d9ef">const</span> { <span style="color:#a6e22e">Configuration</span>, <span style="color:#a6e22e">ConvertApi</span>, <span style="color:#a6e22e">ConvertDocumentRequest</span>, <span style="color:#a6e22e">ConvertSettings</span>, <span style="color:#a6e22e">PngOptions</span>, <span style="color:#a6e22e">StorageApi</span>, <span style="color:#a6e22e">DownloadFileRequest</span> } <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#34;@groupdocs/conversion-cloud&#34;</span>);
</span></span><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></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// Configuration – replace with your own credentials
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">config</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">Configuration</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">clientId</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">clientSecret</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</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:#66d9ef">const</span> <span style="color:#a6e22e">convertApi</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">ConvertApi</span>(<span style="color:#a6e22e">config</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">StorageApi</span>(<span style="color:#a6e22e">config</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// Define source SVG and target PNG locations inside GroupDocs 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"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">inputSvgPath</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;input/sample.svg&#34;</span>;          <span style="color:#75715e">// SVG stored in 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">outputPngPath</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;output/sample.png&#34;</span>;       <span style="color:#75715e">// Desired PNG location
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// PNG conversion options – set dimensions to control memory/CPU usage
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">pngOptions</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">PngOptions</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">width</span><span style="color:#f92672">:</span> <span style="color:#ae81ff">1024</span>,               <span style="color:#75715e">// Resize width (optional)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#a6e22e">height</span><span style="color:#f92672">:</span> <span style="color:#ae81ff">768</span>,               <span style="color:#75715e">// Resize height (optional)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#a6e22e">backgroundColor</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;#FFFFFF&#34;</span> <span style="color:#75715e">// Ensure opaque background
</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">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// Build conversion settings object
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">convertSettings</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">ConvertSettings</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">filePath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">inputSvgPath</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">format</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;png&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">outputPath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">outputPngPath</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">options</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">pngOptions</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:#66d9ef">const</span> <span style="color:#a6e22e">convertRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">ConvertDocumentRequest</span>(<span style="color:#a6e22e">convertSettings</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// Execute conversion, then download the PNG locally
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">// -----------------------------------------------------------------------------
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#a6e22e">convertApi</span>.<span style="color:#a6e22e">convertDocument</span>(<span style="color:#a6e22e">convertRequest</span>)
</span></span><span style="display:flex;"><span>    .<span style="color:#a6e22e">then</span>(<span style="color:#a6e22e">convResult</span> =&gt; {
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">log</span>(<span style="color:#e6db74">&#34;Conversion succeeded. Cloud file:&#34;</span>, <span style="color:#a6e22e">convResult</span>.<span style="color:#a6e22e">path</span>);
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">downloadReq</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">DownloadFileRequest</span>({ <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">convResult</span>.<span style="color:#a6e22e">path</span> });
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">return</span> <span style="color:#a6e22e">storageApi</span>.<span style="color:#a6e22e">downloadFile</span>(<span style="color:#a6e22e">downloadReq</span>);
</span></span><span style="display:flex;"><span>    })
</span></span><span style="display:flex;"><span>    .<span style="color:#a6e22e">then</span>(<span style="color:#a6e22e">fileBuffer</span> =&gt; {
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">localFile</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">&#34;sample.png&#34;</span>);
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">fs</span>.<span style="color:#a6e22e">writeFileSync</span>(<span style="color:#a6e22e">localFile</span>, <span style="color:#a6e22e">fileBuffer</span>);
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">log</span>(<span style="color:#e6db74">&#34;PNG downloaded to:&#34;</span>, <span style="color:#a6e22e">localFile</span>);
</span></span><span style="display:flex;"><span>    })
</span></span><span style="display:flex;"><span>    .<span style="color:#66d9ef">catch</span>(<span style="color:#a6e22e">err</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">&#34;Error during SVG → PNG conversion:&#34;</span>, <span style="color:#a6e22e">err</span>);
</span></span><span style="display:flex;"><span>    })
</span></span><span style="display:flex;"><span>    .<span style="color:#66d9ef">finally</span>(() =&gt; {
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// Clean up HTTP client resources if the SDK exposes a close method
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        <span style="color:#66d9ef">if</span> (<span style="color:#a6e22e">config</span> <span style="color:#f92672">&amp;&amp;</span> <span style="color:#a6e22e">config</span>.<span style="color:#a6e22e">httpClient</span> <span style="color:#f92672">&amp;&amp;</span> <span style="color:#66d9ef">typeof</span> <span style="color:#a6e22e">config</span>.<span style="color:#a6e22e">httpClient</span>.<span style="color:#a6e22e">close</span> <span style="color:#f92672">===</span> <span style="color:#e6db74">&#34;function&#34;</span>) {
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">config</span>.<span style="color:#a6e22e">httpClient</span>.<span style="color:#a6e22e">close</span>();
</span></span><span style="display:flex;"><span>        }
</span></span><span style="display:flex;"><span>    });
</span></span></code></pre></div><blockquote>
<p><strong>توجه:</strong> این مثال کد عملکرد اصلی را نشان می‌دهد. قبل از استفاده از آن در پروژه خود، مطمئن شوید مسیرهای فایل (<code>input/sample.svg</code>, <code>output/sample.png</code>, و غیره) را به مکان‌های واقعی خود به‌روزرسانی کنید، بررسی کنید که تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند، و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به <a href="https://docs.groupdocs.cloud/conversion/">مستندات رسمی</a> مراجعه کنید یا برای دریافت کمک به <a href="https://forum.groupdocs.cloud/c/conversion/11">تیم پشتیبانی</a> مراجعه نمایید.</p>
</blockquote>
<h2 id="تبدیل-svg-به-png-از-طریق-rest-api-با-استفاده-از-curl">تبدیل SVG به PNG از طریق REST API با استفاده از cURL</h2>
<p>اگر ترجیح می‌دهید از روش کاملاً REST استفاده کنید، می‌توانید همان تبدیل را با دستورات cURL انجام دهید. مراحل زیر نشان می‌دهند که چگونه یک توکن دسترسی دریافت کنید، SVG را بارگذاری کنید، تبدیل را آغاز کنید و PNG را دانلود کنید.</p>
<h3 id="احراز-هویت-و-دریافت-توکن-دسترسی">احراز هویت و دریافت توکن دسترسی</h3>
<!--[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/v2.0/auth/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;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>
<h3 id="بارگذاری-فایل-svg-منبع">بارگذاری فایل SVG منبع</h3>
<!--[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/v2.0/storage/upload?path=input/sample.svg&#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>     -F <span style="color:#e6db74">&#34;file=@/path/to/local/sample.svg&#34;</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<h3 id="اجرای-تبدیل-svg-به-png">اجرای تبدیل SVG به PNG</h3>
<!--[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/v2.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;filePath&#34;: &#34;input/sample.svg&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;format&#34;: &#34;png&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;outputPath&#34;: &#34;output/sample.png&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;options&#34;: {
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;width&#34;: 1024,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;height&#34;: 768,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;backgroundColor&#34;: &#34;#FFFFFF&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           }
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">         }&#39;</span>
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>API مسیر فایل PNG تازه ایجاد شده در ذخیره‌سازی ابری را برمی‌گرداند.</p>
<h3 id="دانلود-فایل-png-حاصل">دانلود فایل PNG حاصل</h3>
<!--[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/v2.0/storage/download?path=output/sample.png&#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 sample.png
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<p>این دستورات cURL به شما کنترل کامل بر فرآیند تبدیل بدون نوشتن کد را می‌دهند. برای جزئیات بیشتر، به <a href="https://docs.groupdocs.cloud/conversion/">مستندات رسمی API</a> مراجعه کنید.</p>
<h2 id="نحوه-کار-تبدیل-svg-به-png-در-nodejs">نحوه کار تبدیل SVG به PNG در Node.JS</h2>
<ol>
<li>
<p><strong>وارد کردن کلاس‌های SDK</strong> - دستور <code>require(&quot;@groupdocs/conversion-cloud&quot;)</code> کلاس‌های اساسی مانند <code>ConvertApi</code>، <code>ConvertSettings</code> و <code>PngOptions</code> را بارگذاری می‌کند (<a href="https://reference.groupdocs.cloud/conversion/">مرجع API</a>)</p>
<!--[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">ConvertApi</span>, <span style="color:#a6e22e">ConvertSettings</span>, <span style="color:#a6e22e">PngOptions</span> } <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#34;@groupdocs/conversion-cloud&#34;</span>);
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
</li>
<li>
<p><strong>پیکربندی احراز هویت</strong> - یک شیء <code>Configuration</code> شامل <code>clientId</code> و <code>clientSecret</code> شما است. این شیء به هر دو <code>ConvertApi</code> و <code>StorageApi</code> ارسال می‌شود تا تمام تماس‌های بعدی را مجاز کند.</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">config</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">Configuration</span>({ <span style="color:#a6e22e">clientId</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>, <span style="color:#a6e22e">clientSecret</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span> });
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<ol start="3">
<li>
<p><strong>تعریف مسیرهای ورودی و خروجی</strong> - <code>inputSvgPath</code> به SVG در ذخیره‌سازی ابری اشاره می‌کند، در حالی که <code>outputPngPath</code> مشخص می‌کند که PNG در کجا ذخیره شود.</p>
<!--[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">inputSvgPath</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;input/sample.svg&#34;</span>;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">outputPngPath</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;output/sample.png&#34;</span>;
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
</li>
<li>
<p><strong>تنظیم گزینه‌های PNG</strong> - <code>PngOptions</code> به شما امکان می‌دهد ابعاد و رنگ پس‌زمینه را کنترل کنید، که برای SVGهای بزرگ یا شفاف مفید است.</p>
<!--[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">pngOptions</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">PngOptions</span>({ <span style="color:#a6e22e">width</span><span style="color:#f92672">:</span> <span style="color:#ae81ff">1024</span>, <span style="color:#a6e22e">height</span><span style="color:#f92672">:</span> <span style="color:#ae81ff">768</span>, <span style="color:#a6e22e">backgroundColor</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;#FFFFFF&#34;</span> });
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
</li>
<li>
<p><strong>ایجاد تنظیمات تبدیل و اجرا</strong> - <code>ConvertSettings</code> مسیر فایل، قالب هدف، مکان خروجی و گزینه‌ها را بسته‌بندی می‌کند. متد <code>convertDocument</code> تبدیل را انجام می‌دهد و نتیجه شامل مسیر ابری PNG است.</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">convertSettings</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">ConvertSettings</span>({ <span style="color:#a6e22e">filePath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">inputSvgPath</span>, <span style="color:#a6e22e">format</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;png&#34;</span>, <span style="color:#a6e22e">outputPath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">outputPngPath</span>, <span style="color:#a6e22e">options</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">pngOptions</span> });
</span></span><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">ConvertDocumentRequest</span>(<span style="color:#a6e22e">convertSettings</span>);
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">convertApi</span>.<span style="color:#a6e22e">convertDocument</span>(<span style="color:#a6e22e">convertRequest</span>);
</span></span></code></pre></div><!--[CODE_SNIPPET_END]-->
<ol start="6">
<li><strong>دانلود PNG</strong> - پس از تبدیل، <code>StorageApi.downloadFile</code> داده‌های باینری را بازیابی می‌کند که می‌توانید آن‌ها را در سیستم فایل محلی بنویسید.</li>
</ol>
<p>درک هر مرحله به شما کمک می‌کند تا فرآیند را سفارشی‌سازی کنید، خطاها را مدیریت کنید و تبدیل را در جریان‌های کاری بزرگتر یکپارچه کنید.</p>
<h2 id="نصب-و-پیکربندی-groupdocsconversion-cloud-sdk-for-nodejs">نصب و پیکربندی GroupDocs.Conversion Cloud SDK for Node.JS</h2>
<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><p>SDK برای Node.js 12 یا نسخه‌های بالاتر مورد نیاز است. پس از نصب، یک شیء پیکربندی با <strong>clientId</strong> و <strong>clientSecret</strong> خود ایجاد کنید (در دسترس از حساب GroupDocs Cloud شما). برای آخرین نسخه بسته، به <a href="https://releases.groupdocs.cloud/conversion/nodejs/">صفحه دانلود</a> مراجعه کنید.</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">Configuration</span> } <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#34;@groupdocs/conversion-cloud&#34;</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">config</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">Configuration</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">clientId</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">clientSecret</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span>
</span></span><span style="display:flex;"><span>});
</span></span></code></pre></div><p>اطمینان حاصل کنید که اعتبارنامه‌ها دسترسی لازم به سرویس‌های ذخیره‌سازی و تبدیل را دارند. پس از پیکربندی، می‌توانید همان‌طور که در مثال کد نشان داده شده است، <code>ConvertApi</code> و <code>StorageApi</code> را نمونه‌سازی کنید.</p>
<h2 id="تنظیم-دقیق-تنظیمات-تبدیل-png">تنظیم دقیق تنظیمات تبدیل PNG</h2>
<p>کلاس <code>PngOptions</code> چندین ویژگی را که می‌توانید تنظیم کنید، ارائه می‌دهد:</p>
<ul>
<li><strong>width / height</strong> - وضوح خروجی را تعریف می‌کند. مقادیر بزرگ‌تر کیفیت را افزایش می‌دهند اما حافظه بیشتری مصرف می‌کنند.
<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">pngOptions</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">PngOptions</span>({ <span style="color:#a6e22e">width</span><span style="color:#f92672">:</span> <span style="color:#ae81ff">1920</span>, <span style="color:#a6e22e">height</span><span style="color:#f92672">:</span> <span style="color:#ae81ff">1080</span> });
</span></span></code></pre></div></li>
<li><strong>backgroundColor</strong> - برای SVGهایی که شفافیت دارند، یک پس‌زمینهٔ ثابت تنظیم می‌کند.
<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">pngOptions</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">PngOptions</span>({ <span style="color:#a6e22e">backgroundColor</span><span style="color:#f92672">:</span> <span style="color:#e6db74">&#34;#000000&#34;</span> });
</span></span></code></pre></div></li>
<li><strong>compressionLevel</strong> - (در صورت پشتیبانی) یک سطح فشرده‌سازی بین ۰ (بدون فشرده‌سازی) و ۹ (حداکثر فشرده‌سازی) انتخاب کنید تا حجم فایل کاهش یابد.
<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">pngOptions</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">PngOptions</span>({ <span style="color:#a6e22e">compressionLevel</span><span style="color:#f92672">:</span> <span style="color:#ae81ff">6</span> });
</span></span></code></pre></div></li>
</ul>
<p>این گزینه‌ها از طریق ویژگی <code>options</code> در <code>ConvertSettings</code> عبور می‌کنند. برای فهرست کامل تنظیمات موجود به <a href="https://reference.groupdocs.cloud/conversion/">مرجع API</a> مراجعه کنید.</p>
<h2 id="بهترین-روشها-برای-تبدیل-مؤثر-svg-به-png">بهترین روش‌ها برای تبدیل مؤثر SVG به PNG</h2>
<ul>
<li><strong>اعتبارسنجی محتوای SVG</strong> - اطمینان حاصل کنید که SVG حاوی اسکریپت‌های خارجی یا بارهای مخرب قبل از بارگذاری نیست. GroupDocs.Conversion ورودی را پاک‌سازی می‌کند، اما اعتبارسنجی پیش‌ازبارگذاری لایه امنیتی اضافی اضافه می‌کند.</li>
<li><strong>استفاده مجدد از شیء Configuration</strong> - یک نمونهٔ <code>Configuration</code> واحد ایجاد کنید و آن را بین چندین فراخوانی <code>ConvertApi</code> به اشتراک بگذارید تا بار کاری کاهش یابد.</li>
<li><strong>تنظیم ابعاد معقول</strong> - عرض و ارتفاع را به اندازه‌ای که واقعاً نیاز دارید محدود کنید. تصاویر بزرگ‌نمایی‌شده زمان پردازش و مصرف حافظه را افزایش می‌دهند.</li>
<li><strong>استریم فایل‌های بزرگ</strong> - برای SVGهای بسیار بزرگ، به جای بارگذاری تمام بافر در حافظه، استریم دانلود را در نظر بگیرید.</li>
<li><strong>نظارت بر استفاده از API</strong> - به سهمیهٔ تبدیل خود نظارت کنید و پاسخ‌های محدودیت نرخ را به‌صورت ملایم مدیریت کنید.</li>
</ul>
<h2 id="نتیجهگیری">نتیجه‌گیری</h2>
<p><a href="https://products.groupdocs.cloud/conversion/nodejs/">GroupDocs.Conversion Cloud SDK for Node.JS</a> سرور‑ساید تبدیل SVG به PNG را به‌صورت ساده، مقیاس‌پذیر و ایمن می‌کند. با دنبال کردن مثال کامل کد، جریان کاری معادل cURL، و نکات پیکربندی بالا، می‌توانید تبدیل تصویر با عملکرد بالا را در هر سرویس بک‌اند یکپارچه کنید. به یاد داشته باشید که گزینه‌های مجوزدهی را بررسی کنید؛ استقرارهای تولیدی نیاز به اشتراک پرداختی دارند، و می‌توانید یک مجوز موقت برای تست از <a href="https://purchase.groupdocs.cloud/temporary-license/">صفحه مجوز موقت</a> دریافت کنید. امروز شروع به تبدیل کنید و دارایی‌های PNG واضح را با اطمینان به کاربران خود ارائه دهید.</p>
<h2 id="سوالات-متداول">سوالات متداول</h2>
<p><strong>چگونه می‌توانم تبدیل SVG به PNG را در Node.JS با استفاده از GroupDocs انجام دهم؟</strong><br>
از GroupDocs.Conversion Cloud SDK برای Node.JS استفاده کنید. SVG را به فضای ذخیره‌سازی ابری بارگذاری کنید، <code>PngOptions</code> را پیکربندی کنید، <code>convertDocument</code> را فراخوانی کنید و PNG را دانلود کنید. مثال کامل کد در این مقاله هر مرحله را نشان می‌دهد.</p>
<p><strong>آیا می‌توانم بسیاری از فایل‌های SVG را به‌صورت دسته‌ای یک‌باره تبدیل کنم؟</strong><br>
بله. بر روی فهرستی از مسیرهای SVG تکرار کنید و برای هر فایل همان درخواست تبدیل را فراخوانی کنید. SDK هر درخواست را به‌صورت مستقل پردازش می‌کند و به شما امکان می‌دهد تمام نتایج PNG را در یک پوشه خروجی ذخیره کنید.</p>
<p><strong>اگر تبدیل با خطا مواجه شد، چه کاری باید انجام دهم؟</strong><br>
پیام خطایی که در بلوک catch برگردانده می‌شود را بررسی کنید. مشکلات رایج شامل اعتبارهای نامعتبر، مسیرهای فایل گمشده یا ویژگی‌های پشتیبانی‌نشده SVG هستند. برای کدهای خطای دقیق و مراحل عیب‌یابی به <a href="https://docs.groupdocs.cloud/conversion/">مستندات رسمی</a> مراجعه کنید.</p>
<p><strong>کجا می‌توانم اطلاعات بیشتری در مورد گزینه‌های PNG پیدا کنم؟</strong><br>
تمام ویژگی‌های قابل تنظیم در مرجع API برای <code>PngOptions</code> فهرست شده‌اند. برای کشف تنظیمات اضافی مانند سطح فشرده‌سازی و عمق رنگ، به <a href="https://reference.groupdocs.cloud/conversion/">مرجع API</a> مراجعه کنید.</p>
<h2 id="بیشتر-بخوانید">بیشتر بخوانید</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/fa/conversion/step-by-step-html-to-docx-conversion-tutorial-in-nodejs/">آموزش گام به گام تبدیل HTML به DOCX در Node.JS</a></li>
<li><a href="https://blog.groupdocs.cloud/fa/conversion/step-by-step-csv-to-pdf-conversion-example-in-nodejs/">مثال گام به گام تبدیل CSV به PDF در Node.JS</a></li>
<li><a href="https://blog.groupdocs.cloud/fa/conversion/pdf-to-docx-conversion-in-nodejs/">تبدیل PDF به DOCX در Node.JS</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
