<?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/vi/tag/svg-processing/</link>
    <description>Recent content in svg processing on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>vi</language>
    <lastBuildDate>Mon, 17 Aug 2026 08:29:07 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/vi/tag/svg-processing/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Chuyển đổi SVG sang PNG trong Node.JS</title>
      <link>https://blog-qa.groupdocs.cloud/vi/conversion/svg-to-png-conversion-in-nodejs/</link>
      <pubDate>Mon, 17 Aug 2026 08:29:07 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/vi/conversion/svg-to-png-conversion-in-nodejs/</guid>
      <description>Tìm hiểu cách chuyển đổi tệp SVG sang hình ảnh PNG trong Node.JS bằng GroupDocs.Conversion Cloud SDK. Hướng dẫn này bao gồm mã, ví dụ cURL và các thực tiễn tốt nhất.</description>
      <content:encoded><![CDATA[<p>Chuyển đổi đồ họa vector sang ảnh raster là một yêu cầu thường gặp khi tạo thumbnail, preview hoặc PDF trên máy chủ. <a href="https://products.groupdocs.cloud/conversion/nodejs/">GroupDocs.Conversion Cloud SDK for Node.JS</a> cung cấp một thư viện mạnh mẽ xử lý việc chuyển đổi <a href="https://docs.fileformat.com/page-description-language/svg/">SVG</a> sang <a href="https://docs.fileformat.com/image/png/">PNG</a> hoàn toàn trên đám mây. Trong hướng dẫn này, bạn sẽ thấy một ví dụ hoàn chỉnh hoạt động, một quy trình cURL tương ứng, các mẹo cấu hình và các khuyến nghị thực hành tốt nhất. Khi kết thúc, bạn sẽ có thể tích hợp việc chuyển đổi SVG sang PNG phía máy chủ vào bất kỳ ứng dụng Node.JS nào.</p>
<h2 id="ví-dụ-hoạt-động-đầy-đủ-cho-việc-chuyển-đổi-svg-sang-png-trong-nodejs">Ví dụ Hoạt động đầy đủ cho việc chuyển đổi SVG sang PNG trong Node.JS</h2>
<p>Ví dụ này minh họa cách chuyển đổi tệp SVG được lưu trữ trong GroupDocs Cloud storage sang hình ảnh PNG bằng cách sử dụng 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>Lưu ý:</strong> Ví dụ mã này minh họa chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật các đường dẫn tệp (<code>input/sample.svg</code>, <code>output/sample.png</code>, v.v.) để phù hợp với vị trí tệp thực tế của bạn, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển. Nếu bạn gặp bất kỳ vấn đề nào, vui lòng tham khảo <a href="https://docs.groupdocs.cloud/conversion/">tài liệu chính thức</a> hoặc liên hệ với <a href="https://forum.groupdocs.cloud/c/conversion/11">đội hỗ trợ</a> để được trợ giúp.</p>
</blockquote>
<h2 id="chuyển-đổi-svg-sang-png-qua-rest-api-bằng-curl">Chuyển đổi SVG sang PNG qua REST API bằng cURL</h2>
<p>Nếu bạn muốn sử dụng phương pháp REST thuần túy, việc chuyển đổi tương tự có thể được thực hiện bằng các lệnh cURL. Các bước dưới đây cho thấy cách lấy token truy cập, tải lên SVG, bắt đầu chuyển đổi và tải xuống PNG.</p>
<h3 id="xác-thực-và-nhận-token-truy-cập">Xác thực và nhận Token truy cập</h3>
<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><p>Phản hồi chứa một <code>access_token</code> mà bạn sẽ sử dụng trong các cuộc gọi tiếp theo.</p>
<h3 id="tải-lên-tệp-svg-nguồn">Tải lên tệp SVG nguồn</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="thực-hiện-chuyển-đổi-svg-sang-png">Thực hiện chuyển đổi SVG sang 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 trả về đường dẫn của tệp PNG mới tạo trong lưu trữ đám mây.</p>
<h3 id="tải-xuống-tệp-png-kết-quả">Tải xuống tệp PNG kết quả</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>Các lệnh cURL này cho phép bạn kiểm soát đầy đủ quá trình chuyển đổi mà không cần viết bất kỳ mã nào. Để biết thêm chi tiết, xem <a href="https://docs.groupdocs.cloud/conversion/">tài liệu API chính thức</a>.</p>
<h2 id="cách-hoạt-động-của-chuyển-đổi-svg-sang-png-trong-nodejs">Cách hoạt động của chuyển đổi SVG sang PNG trong Node.JS</h2>
<ol>
<li><strong>Nhập các lớp SDK</strong> - Lệnh <code>require(&quot;@groupdocs/conversion-cloud&quot;)</code> tải các lớp thiết yếu như <code>ConvertApi</code>, <code>ConvertSettings</code> và <code>PngOptions</code> (<a href="https://reference.groupdocs.cloud/conversion/">API reference</a>).</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">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]-->
<ol start="2">
<li>
<p><strong>Cấu hình Xác thực</strong> - Một đối tượng <code>Configuration</code> chứa <code>clientId</code> và <code>clientSecret</code> của bạn. Đối tượng này được truyền cho cả <code>ConvertApi</code> và <code>StorageApi</code> để ủy quyền cho tất cả các cuộc gọi tiếp theo.</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">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]-->
</li>
<li>
<p><strong>Xác định Đường dẫn Đầu vào và Đầu ra</strong> - <code>inputSvgPath</code> chỉ tới tệp SVG trong lưu trữ đám mây, trong khi <code>outputPngPath</code> chỉ định nơi lưu tệp 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">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]-->
<ol start="4">
<li>
<p><strong>Đặt tùy chọn PNG</strong> - <code>PngOptions</code> cho phép bạn kiểm soát kích thước và màu nền, điều này hữu ích cho các SVG lớn hoặc trong suốt.</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>Tạo Cài Đặt Chuyển Đổi và Thực Thi</strong> - <code>ConvertSettings</code> gói các đường dẫn tệp, định dạng đích, vị trí đầu ra và các tùy chọn. Phương thức <code>convertDocument</code> thực hiện việc chuyển đổi, và kết quả chứa đường dẫn đám mây của tệp 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>Tải xuống PNG</strong> - Sau khi chuyển đổi, <code>StorageApi.downloadFile</code> sẽ lấy dữ liệu nhị phân, bạn có thể ghi nó vào hệ thống tệp cục bộ.</li>
</ol>
<p>Hiểu mỗi bước giúp bạn tùy chỉnh quy trình, xử lý lỗi và tích hợp quá trình chuyển đổi vào các quy trình làm việc lớn hơn.</p>
<h2 id="cài-đặt-và-cấu-hình-groupdocsconversion-cloud-sdk-for-nodejs">Cài đặt và cấu hình 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 yêu cầu Node.js 12 hoặc mới hơn. Sau khi cài đặt, tạo một đối tượng cấu hình với <strong>clientId</strong> và <strong>clientSecret</strong> của bạn (có sẵn từ tài khoản GroupDocs Cloud của bạn). Xem <a href="https://releases.groupdocs.cloud/conversion/nodejs/">trang tải xuống</a> để biết phiên bản gói mới nhất.</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>Đảm bảo rằng các thông tin xác thực có quyền truy cập vào dịch vụ lưu trữ và chuyển đổi. Khi đã cấu hình, bạn có thể khởi tạo <code>ConvertApi</code> và <code>StorageApi</code> như được hiển thị trong ví dụ mã.</p>
<h2 id="tinh-chỉnh-cài-đặt-chuyển-đổi-png">Tinh chỉnh cài đặt chuyển đổi PNG</h2>
<p>Lớp <code>PngOptions</code> cung cấp một số thuộc tính mà bạn có thể điều chỉnh:</p>
<ul>
<li><strong>width / height</strong> - Xác định độ phân giải đầu ra. Giá trị lớn hơn tăng chất lượng nhưng tiêu tốn nhiều bộ nhớ hơn.
<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> - Đặt nền màu đồng nhất cho các SVG có chứa độ trong suốt.
<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> - (Nếu được hỗ trợ) Chọn mức nén từ 0 (không nén) đến 9 (nén tối đa) để giảm kích thước tệ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">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>Các tùy chọn này được truyền qua thuộc tính <code>options</code> của <code>ConvertSettings</code>. Tham khảo <a href="https://reference.groupdocs.cloud/conversion/">tài liệu API</a> để biết danh sách đầy đủ các cài đặt có sẵn.</p>
<h2 id="các-thực-tiễn-tốt-nhất-để-chuyển-đổi-svg-sang-png-hiệu-quả">Các thực tiễn tốt nhất để chuyển đổi SVG sang PNG hiệu quả</h2>
<ul>
<li><strong>Xác thực nội dung SVG</strong> - Đảm bảo SVG không chứa các script bên ngoài hoặc payload độc hại trước khi tải lên. GroupDocs.Conversion làm sạch đầu vào, nhưng việc xác thực trước sẽ thêm một lớp bảo mật bổ sung.</li>
<li><strong>Tái sử dụng đối tượng Configuration</strong> - Tạo một thể hiện <code>Configuration</code> duy nhất và chia sẻ nó qua nhiều lời gọi <code>ConvertApi</code> để giảm tải.</li>
<li><strong>Đặt kích thước hợp lý</strong> - Giới hạn chiều rộng và chiều cao tới kích thước thực sự cần thiết. Hình ảnh quá lớn sẽ làm tăng thời gian xử lý và việc sử dụng bộ nhớ.</li>
<li><strong>Phát luồng tệp lớn</strong> - Đối với các SVG rất lớn, hãy xem xét phát luồng tải xuống thay vì tải toàn bộ bộ đệm vào bộ nhớ.</li>
<li><strong>Giám sát việc sử dụng API</strong> - Theo dõi hạn ngạch chuyển đổi của bạn và xử lý các phản hồi giới hạn tốc độ một cách khéo léo.</li>
</ul>
<h2 id="kết-luận">Kết luận</h2>
<p><a href="https://products.groupdocs.cloud/conversion/nodejs/">GroupDocs.Conversion Cloud SDK for Node.JS</a> giúp việc chuyển đổi SVG sang PNG phía máy chủ trở nên đơn giản, có khả năng mở rộng và an toàn. Bằng cách làm theo ví dụ mã đầy đủ, quy trình cURL tương đương và các mẹo cấu hình ở trên, bạn có thể tích hợp chuyển đổi hình ảnh hiệu suất cao vào bất kỳ dịch vụ backend nào. Hãy nhớ xem xét các tùy chọn cấp phép; triển khai sản xuất yêu cầu thuê bao trả phí, và bạn có thể nhận giấy phép tạm thời để thử nghiệm từ <a href="https://purchase.groupdocs.cloud/temporary-license/">trang giấy phép tạm thời</a>. Bắt đầu chuyển đổi ngay hôm nay và cung cấp các tài sản PNG sắc nét cho người dùng của bạn với sự tự tin.</p>
<h2 id="faqs">FAQs</h2>
<p><strong>Làm thế nào để thực hiện chuyển đổi SVG sang PNG trong Node.JS bằng GroupDocs?</strong><br>
Sử dụng GroupDocs.Conversion Cloud SDK cho Node.JS. Tải lên SVG lên lưu trữ đám mây, cấu hình <code>PngOptions</code>, gọi <code>convertDocument</code>, và tải xuống PNG. Ví dụ mã đầy đủ trong bài viết này cho thấy từng bước.</p>
<p><strong>Có thể chuyển đổi hàng loạt nhiều tệp SVG cùng một lúc không?</strong><br>
Có. Lặp qua danh sách các đường dẫn SVG và gọi yêu cầu chuyển đổi giống nhau cho mỗi tệp. SDK xử lý mỗi yêu cầu một cách độc lập, cho phép bạn lưu tất cả kết quả PNG trong một thư mục đầu ra duy nhất.</p>
<p><strong>Nếu quá trình chuyển đổi thất bại với lỗi, tôi nên làm gì?</strong><br>
Kiểm tra thông báo lỗi được trả về trong khối catch. Các vấn đề thường gặp bao gồm thông tin đăng nhập không hợp lệ, đường dẫn tệp tin bị thiếu hoặc các tính năng SVG không được hỗ trợ. Tham khảo <a href="https://docs.groupdocs.cloud/conversion/">tài liệu chính thức</a> để biết mã lỗi chi tiết và các bước khắc phục.</p>
<p><strong>Bạn có thể tìm thông tin thêm về các tùy chọn PNG ở đâu?</strong><br>
Tất cả các thuộc tính có thể cấu hình được liệt kê trong tài liệu tham khảo API cho <code>PngOptions</code>. Truy cập <a href="https://reference.groupdocs.cloud/conversion/">Tham chiếu API</a> để khám phá các cài đặt bổ sung như mức nén và độ sâu màu.</p>
<h2 id="đọc-thêm">Đọc Thêm</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/vi/conversion/step-by-step-html-to-docx-conversion-tutorial-in-nodejs/">Hướng Dẫn Bước‑bước Chuyển Đổi HTML sang DOCX trong Node.JS</a></li>
<li><a href="https://blog.groupdocs.cloud/vi/conversion/step-by-step-csv-to-pdf-conversion-example-in-nodejs/">Ví dụ Chuyển Đổi CSV sang PDF Bước‑bước trong Node.JS</a></li>
<li><a href="https://blog.groupdocs.cloud/vi/conversion/pdf-to-docx-conversion-in-nodejs/">Chuyển Đổi PDF sang DOCX trong Node.JS</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
