<?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/zh-hant/tag/svg-processing/</link>
    <description>Recent content in svg processing on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-hant</language>
    <lastBuildDate>Mon, 17 Aug 2026 08:29:07 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/zh-hant/tag/svg-processing/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Node.JS 中的 SVG 轉 PNG 轉換</title>
      <link>https://blog-qa.groupdocs.cloud/zh-hant/conversion/svg-to-png-conversion-in-nodejs/</link>
      <pubDate>Mon, 17 Aug 2026 08:29:07 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/zh-hant/conversion/svg-to-png-conversion-in-nodejs/</guid>
      <description>了解如何在 Node.JS 中使用 GroupDocs.Conversion Cloud SDK 將 SVG 檔案轉換為 PNG 圖像。本指南包括程式碼、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="nodejs-中-svg-轉-png-完整工作範例">Node.JS 中 SVG 轉 PNG 完整工作範例</h2>
<p>此範例示範如何使用 GroupDocs.Conversion Cloud SDK for Node.JS，將儲存在 GroupDocs Cloud 儲存空間中的 SVG 檔案轉換為 PNG 圖像。</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="使用-curl-的-rest-api-進行-svg-到-png-的轉換">使用 cURL 的 REST API 進行 SVG 到 PNG 的轉換</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>
<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><p>這些 cURL 命令讓您在不編寫任何程式碼的情況下，完全掌控轉換過程。如需更多詳細資訊，請參閱 <a href="https://docs.groupdocs.cloud/conversion/">官方 API 文件</a>。</p>
<h2 id="如何在-nodejs-中將-svg-轉換為-png-工作原理">如何在 Node.JS 中將 SVG 轉換為 PNG 工作原理</h2>
<ol>
<li><strong>Import SDK Classes</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>）。</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><strong>設定驗證</strong> - <code>Configuration</code> 物件保存您的 <code>clientId</code> 和 <code>clientSecret</code>。此物件會傳遞給 <code>ConvertApi</code> 和 <code>StorageApi</code>，以授權所有後續呼叫。</li>
</ol>
<!--[CODE_SNIPPET_START]-->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-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><strong>定義輸入和輸出路徑</strong> - <code>inputSvgPath</code> 指向雲端存儲中的 SVG，而 <code>outputPngPath</code> 指定 PNG 應保存的位置。</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><strong>設定 PNG 選項</strong> - <code>PngOptions</code> 讓您能控制尺寸和背景顏色，對於大型或透明的 SVG 非常有用。</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">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]-->
<ol start="5">
<li>
<p><strong>建立轉換設定並執行</strong> - <code>ConvertSettings</code> 將檔案路徑、目標格式、輸出位置和選項打包。<code>convertDocument</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">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]-->
</li>
<li>
<p><strong>下載 PNG</strong> - 轉換後，<code>StorageApi.downloadFile</code> 會檢索二進位資料，您可以將其寫入本機檔案系統。</p>
</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> - （如果支援）選擇 0（無壓縮）至 9（最高壓縮）之間的壓縮等級，以減少檔案大小。
<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>ConvertSettings</code> 的 <code>options</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>如何在 Node.JS 中使用 GroupDocs 執行 SVG 轉 PNG 轉換？</strong><br>
使用 GroupDocs.Conversion Cloud SDK for 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>
所有可配置的屬性都列在 <code>PngOptions</code> 的 API 參考中。請訪問 <a href="https://reference.groupdocs.cloud/conversion/">API 參考</a> 以探索其他設定，例如壓縮等級和色彩深度。</p>
<h2 id="閱讀更多">閱讀更多</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/zh-hant/conversion/step-by-step-html-to-docx-conversion-tutorial-in-nodejs/">Node.JS 中逐步 HTML 轉 DOCX 轉換教學</a></li>
<li><a href="https://blog.groupdocs.cloud/zh-hant/conversion/step-by-step-csv-to-pdf-conversion-example-in-nodejs/">Node.JS 中逐步 CSV 轉 PDF 轉換範例</a></li>
<li><a href="https://blog.groupdocs.cloud/zh-hant/conversion/pdf-to-docx-conversion-in-nodejs/">Node.JS 中 PDF 轉 DOCX 轉換</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
