<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>pdf image extraction on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/zh-hant/tag/pdf-image-extraction/</link>
    <description>Recent content in pdf image extraction on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-hant</language>
    <lastBuildDate>Mon, 12 Oct 2026 17:04:44 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/zh-hant/tag/pdf-image-extraction/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>在 C# 中從 PDF 文檔提取圖像</title>
      <link>https://blog-qa.groupdocs.cloud/zh-hant/parser/extract-images-from-pdf-documents-in-csharp/</link>
      <pubDate>Mon, 12 Oct 2026 17:04:44 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/zh-hant/parser/extract-images-from-pdf-documents-in-csharp/</guid>
      <description>了解如何在 C# 中使用 GroupDocs.Parser Cloud SDK for .NET 從 PDF 文檔中提取圖像。請遵循此逐步指南，包含代碼、cURL 和提示。</description>
      <content:encoded><![CDATA[<p>從 <a href="https://docs.fileformat.com/pdf">PDF</a> 文件中提取圖像是構建文檔處理流水線時的常見需求，尤其是用於生成縮略圖或在其他地方重新使用圖形。<a href="httpshttps://products.groupdocs.cloud/parser/net/">GroupDocs.Parser Cloud SDK for .NET</a> 提供了強大的 API，使此任務在 C# 中變得簡單直觀。在本指南中，您將學習如何上傳 PDF、檢索所有嵌入的圖像、將其本地保存，並可選擇清理遠端文件，並提供完整的代碼和 REST 示例。</p>
<h2 id="在-c-中從-pdf-文檔提取圖像的步驟">在 C# 中從 PDF 文檔提取圖像的步驟</h2>
<ol>
<li><strong>將 PDF 上傳至 GroupDocs Cloud 儲存</strong>: 使用 <code>StorageApi.UploadFile</code> 將來源 PDF 放置於雲端。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> uploadRequest = <span style="color:#66d9ef">new</span> UploadFileRequest(remotePdfPath, File.ReadAllBytes(localPdfPath));
</span></span><span style="display:flex;"><span>storageApi.UploadFile(uploadRequest);
</span></span></code></pre></div><p>此呼叫確保檔案可供解析。</p>
<ol start="2">
<li><strong>請求文件圖像</strong>：呼叫 <code>ParserApi.GetDocumentImages</code> 並傳入 <code>GetDocumentImagesRequest</code>。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> imagesRequest = <span style="color:#66d9ef">new</span> GetDocumentImagesRequest(remotePdfPath);
</span></span><span style="display:flex;"><span>ImagesResult imagesResult = parserApi.GetDocumentImages(imagesRequest);
</span></span></code></pre></div><p>回應包含一系列 <code>ImageInfo</code> 物件，每個物件都包含 Base64 資料和中繼資料。請參閱 <a href="https://reference.groupdocs.cloud/parser/">API 參考</a> 以獲取完整細節。</p>
<ol start="3">
<li><strong>解碼並保存每個圖像</strong>：遍歷 <code>imagesResult.Images</code>，將 Base64 字串轉換為位元組陣列，並將檔案寫入磁碟。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">foreach</span> (ImageInfo imgInfo <span style="color:#66d9ef">in</span> imagesResult.Images)
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">byte</span>[] imageBytes = Convert.FromBase64String(imgInfo.Base64Data);
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">string</span> extension = imgInfo.FileExtension?.TrimStart(<span style="color:#e6db74">&#39;.&#39;</span>).ToLower() ?? <span style="color:#e6db74">&#34;bin&#34;</span>;
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">string</span> fileName = <span style="color:#e6db74">$&#34;extracted_page{imgInfo.PageNumber}_img{imgInfo.ImageIndex}_{imageCounter}.{extension}&#34;</span>;
</span></span><span style="display:flex;"><span>    File.WriteAllBytes(fileName, imageBytes);
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>控制台會記錄已保存的檔案名稱、尺寸和 DPI 以供驗證。</p>
<ol start="4">
<li><strong>（可選）清理遠端 PDF</strong>：提取後，您可以刪除已上傳的文件以保持儲存空間整潔。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> deleteRequest = <span style="color:#66d9ef">new</span> DeleteFileRequest(remotePdfPath);
</span></span><span style="display:flex;"><span>storageApi.DeleteFile(deleteRequest);
</span></span></code></pre></div><p>此步驟已包裹在 try‑catch 區塊中，以忽略任何清理錯誤。</p>
<ol start="5">
<li><strong>檢查輸出</strong>: 控制台將顯示類似 <code>Total images extracted: 12</code> 的摘要，確認提取成功。</li>
</ol>
<h2 id="完整程式碼範例從-pdf-文件中提取圖像使用-groupdocsparser">完整程式碼範例：從 PDF 文件中提取圖像，使用 GroupDocs.Parser</h2>
<p>以下範例示範了上述完整工作流程。它包括配置、上傳、圖像提取、保存以及可選的清理。</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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System.IO;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System.Collections.Generic;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Parser.Cloud.Sdk.Api;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Parser.Cloud.Sdk.Client;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Parser.Cloud.Sdk.Model;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Parser.Cloud.Sdk.Model.Requests;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">namespace</span> ExtractImagesFromPdf
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">Program</span>
</span></span><span style="display:flex;"><span>    {
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> Main(<span style="color:#66d9ef">string</span>[] args)
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Configuration – replace with your actual credentials</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> config = <span style="color:#66d9ef">new</span> Configuration
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                ClientId = <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>,
</span></span><span style="display:flex;"><span>                ClientSecret = <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:#75715e">// APIs</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> storageApi = <span style="color:#66d9ef">new</span> StorageApi(config);
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> parserApi = <span style="color:#66d9ef">new</span> ParserApi(config);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Input PDF path (local) and remote name in storage</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">const</span> <span style="color:#66d9ef">string</span> localPdfPath = <span style="color:#e6db74">&#34;input.pdf&#34;</span>;
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">const</span> <span style="color:#66d9ef">string</span> remotePdfPath = <span style="color:#e6db74">&#34;input.pdf&#34;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">try</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">// 1. Upload PDF to GroupDocs Cloud storage (if not already there)</span>
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// -------------------------------------------------</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">if</span> (!File.Exists(localPdfPath))
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">throw</span> <span style="color:#66d9ef">new</span> FileNotFoundException(<span style="color:#e6db74">$&#34;Local file not found: {localPdfPath}&#34;</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">var</span> uploadRequest = <span style="color:#66d9ef">new</span> UploadFileRequest(remotePdfPath, File.ReadAllBytes(localPdfPath));
</span></span><span style="display:flex;"><span>                storageApi.UploadFile(uploadRequest);
</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">// 2. Retrieve document images (all pages)</span>
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// -------------------------------------------------</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">var</span> imagesRequest = <span style="color:#66d9ef">new</span> GetDocumentImagesRequest(remotePdfPath);
</span></span><span style="display:flex;"><span>                ImagesResult imagesResult = parserApi.GetDocumentImages(imagesRequest);
</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">// 3. Save each extracted image to disk</span>
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// -------------------------------------------------</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">int</span> imageCounter = <span style="color:#ae81ff">0</span>;
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">foreach</span> (ImageInfo imgInfo <span style="color:#66d9ef">in</span> imagesResult.Images)
</span></span><span style="display:flex;"><span>                {
</span></span><span style="display:flex;"><span>                    <span style="color:#75715e">// Image data is returned as Base64 string</span>
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">byte</span>[] imageBytes = Convert.FromBase64String(imgInfo.Base64Data);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Build a descriptive file name</span>
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">string</span> extension = imgInfo.FileExtension?.TrimStart(<span style="color:#e6db74">&#39;.&#39;</span>).ToLower() ?? <span style="color:#e6db74">&#34;bin&#34;</span>;
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">string</span> fileName = <span style="color:#e6db74">$&#34;extracted_page{imgInfo.PageNumber}_img{imgInfo.ImageIndex}_{imageCounter}.{extension}&#34;</span>;
</span></span><span style="display:flex;"><span>                    File.WriteAllBytes(fileName, imageBytes);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Console.WriteLine(<span style="color:#e6db74">$&#34;Saved: {fileName} ({imgInfo.Width}x{imgInfo.Height} px, {imgInfo.Resolution} DPI)&#34;</span>);
</span></span><span style="display:flex;"><span>                    imageCounter++;
</span></span><span style="display:flex;"><span>                }
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Console.WriteLine(<span style="color:#e6db74">$&#34;Total images extracted: {imageCounter}&#34;</span>);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">catch</span> (ApiException apiEx)
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                Console.Error.WriteLine(<span style="color:#e6db74">$&#34;GroupDocs API error: {apiEx.ErrorCode} - {apiEx.Message}&#34;</span>);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">catch</span> (Exception ex)
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                Console.Error.WriteLine(<span style="color:#e6db74">$&#34;Unexpected error: {ex.Message}&#34;</span>);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">finally</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">// 4. Optional cleanup – delete the uploaded PDF from storage</span>
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// -------------------------------------------------</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">try</span>
</span></span><span style="display:flex;"><span>                {
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">var</span> deleteRequest = <span style="color:#66d9ef">new</span> DeleteFileRequest(remotePdfPath);
</span></span><span style="display:flex;"><span>                    storageApi.DeleteFile(deleteRequest);
</span></span><span style="display:flex;"><span>                }
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">catch</span>
</span></span><span style="display:flex;"><span>                {
</span></span><span style="display:flex;"><span>                    <span style="color:#75715e">// Ignored – cleanup is optional</span>
</span></span><span style="display:flex;"><span>                }
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>        }
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><blockquote>
<p><strong>注意:</strong> 此程式碼範例展示了核心功能。在將其用於您的專案之前，請確保更新所有檔案路徑和設定值以符合實際環境，驗證所有必要的相依項已正確安裝，並在開發環境中徹底測試。如果您遇到任何問題，請參閱<a href="https://docs.groupdocs.cloud/parser/">官方文件</a>或聯繫<a href="https://forum.groupdocs.cloud/c/parser/19">支援團隊</a>以獲得協助。</p>
</blockquote>
<h2 id="使用-curl-透過-rest-api-提取圖像">使用 cURL 透過 REST API 提取圖像</h2>
<p>相同的操作可以透過直接的 REST 呼叫來執行。以下是一個最小的 cURL 工作流程。</p>
<ol>
<li><strong>取得存取權杖</strong> (OAuth 2.0 用戶端憑證授權)。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/oauth2/token&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/x-www-form-urlencoded&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#34;grant_type=client_credentials&amp;client_id=YOUR_CLIENT_ID&amp;client_secret=YOUR_CLIENT_SECRET&#34;</span>
</span></span></code></pre></div><p>回應中包含 <code>access_token</code>。</p>
<ol start="2">
<li><strong>上傳 PDF</strong> 到雲端儲存。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X PUT <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/file/input.pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     --data-binary <span style="color:#e6db74">&#34;@input.pdf&#34;</span>
</span></span></code></pre></div><ol start="3">
<li><strong>請求圖像</strong> 針對已上傳的文件。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X GET <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/parser/input.pdf/images&#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></span></code></pre></div><p><a href="https://docs.fileformat.com/web/json/">JSON</a> 回應包含一個圖像陣列，其中包含 <code>base64Data</code>、<code>fileExtension</code>、<code>pageNumber</code> 等。</p>
<ol start="4">
<li><strong>儲存每張圖像</strong> 本機（示例使用 <code>jq</code> 和 <code>base64</code>）。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X GET <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/parser/input.pdf/images&#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>     jq -r <span style="color:#e6db74">&#39;.images[] | &#34;\(.pageNumber)_\(.imageIndex).\(.fileExtension) \(.base64Data)&#34;&#39;</span> | <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     <span style="color:#66d9ef">while</span> read filename b64; <span style="color:#66d9ef">do</span>
</span></span><span style="display:flex;"><span>         echo <span style="color:#e6db74">&#34;</span>$b64<span style="color:#e6db74">&#34;</span> | base64 -d &gt; <span style="color:#e6db74">&#34;</span>$filename<span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>     <span style="color:#66d9ef">done</span>
</span></span></code></pre></div><p>如需了解端點和參數的更多詳細資訊，請參閱<a href="https://docs.groupdocs.cloud/parser/">官方 API 文檔</a>。</p>
<h2 id="準備環境">準備環境</h2>
<ol>
<li>透過 NuGet 安裝 .NET 用戶端程式庫：</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>dotnet add package GroupDocs.Parser-Cloud
</span></span></code></pre></div><p>此套件可從官方<a href="https://releases.groupdocs.cloud/parser/net/">下載頁面</a>取得。</p>
<ol start="2">
<li>
<p>確保已安裝 .NET 6.0 或更高版本，並擁有有效的 GroupDocs Cloud 帳戶及客戶端憑證。</p>
</li>
<li>
<p>（可選）克隆示例倉庫以供參考：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>git clone https://github.com/groupdocs-parser-cloud/groupdocs-parser-cloud-dotnet.git
</span></span></code></pre></div></li>
</ol>
<h2 id="什麼使-groupdocsparser-適合圖像提取">什麼使 GroupDocs.Parser 適合圖像提取</h2>
<ul>
<li><strong>直接圖像檢索</strong>：<code>GetDocumentImages</code> 呼叫返回原始格式的圖像，無需額外轉換步驟。</li>
<li><strong>Base64 交付</strong>：圖像以 Base64 字串形式提供，便於在任何語言中解碼。</li>
<li><strong>頁面級元資料</strong>：每個 <code>ImageInfo</code> 包含頁碼、尺寸、解析度和索引，有助於組織提取的資產。</li>
<li><strong>支援所有常見點陣圖格式</strong>：<a href="https://docs.fileformat.com/image/png/">PNG</a>、<a href="https://docs.fileformat.com/image/jpeg/">JPEG</a>、<a href="https://docs.fileformat.com/image/bmp/">BMP</a>、<a href="https://docs.fileformat.com/image/gif/">GIF</a>、<a href="https://docs.fileformat.com/image/tiff/">TIFF</a> 等均會如 PDF 中存儲的那樣完整保留。</li>
<li><strong>可擴展的雲端處理</strong>：大型 PDF 由 GroupDocs 伺服器處理，減少應用程式的記憶體壓力。</li>
</ul>
<h2 id="配置圖像提取選項">配置圖像提取選項</h2>
<p>雖然基本範例即開即用，但您可以微調請求：</p>
<ul>
<li><strong>指定頁面範圍</strong>：將 <code>pages = &quot;1-5&quot;</code> 添加到 <code>GetDocumentImagesRequest</code> 以限制提取。</li>
<li><strong>設定影像品質</strong>：如果需要<a href="https://docs.fileformat.com/web/compressed/">壓縮</a>輸出，請使用 <code>imageQuality</code> 參數（0‑100）。</li>
<li><strong>依格式篩選</strong>：提供 <code>fileExtensions = [&quot;png&quot;,&quot;jpeg&quot;]</code> 以僅接收所選格式。</li>
</ul>
<p>這些選項已在 <a href="https://reference.groupdocs.cloud/parser/">API 參考</a> 中記錄。</p>
<h2 id="結論">結論</h2>
<p>在 C# 中從 PDF 文檔提取圖像變得簡單且可靠，只需利用 <a href="https://products.groupdocs.cloud/parser/net/">GroupDocs.Parser Cloud SDK for .NET</a>。該 SDK 處理上傳、解析和 Base64 轉換，讓您專注於保存文件並將其整合到工作流程中。請務必保護您的客戶端憑證，遵守許可條款，並考慮在 <a href="https://purchase.groupdocs.cloud/temporary-license/">臨時許可頁面</a> 獲取臨時許可以進行評估。使用提供的代碼和 REST 示例，您即可在任何 .NET 應用程序中添加強大的 PDF 圖像提取功能。</p>
<h2 id="常見問題">常見問題</h2>
<p><strong>如何使用 C# 從 PDF 文檔中提取圖像？</strong><br>
使用 Parser API 的 <code>GetDocumentImages</code> 方法，在使用 <code>StorageApi.UploadFile</code> 上傳 PDF 後。解碼返回的 Base64 字串並寫入磁碟，如代碼示例所示。</p>
<p><strong>如果 PDF 受密碼保護怎麼辦？</strong><br>
在請求模型中包含密碼。 SDK 會在提取圖像之前解密文件。 請參閱<a href="https://docs.groupdocs.cloud/parser/">文檔</a>以獲取確切的屬性名稱。</p>
<p><strong>我可以將提取限制在特定頁面嗎？</strong><br>
是的，將 <code>pages</code> 屬性設定在 <code>GetDocumentImagesRequest</code> 上為逗號分隔的列表或範圍（例如，<code>&quot;1-3,5&quot;</code>）。API 將僅返回這些頁面的圖像。</p>
<p><strong>是否對提取的圖像有大小限制？</strong><br>
SDK 返回原始圖像數據，未進行縮放。如果需要更小的文件，請使用任何圖像處理庫對保存的圖像進行後處理。</p>
<h2 id="閱讀更多">閱讀更多</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/zh-hant/parser/extract-images-from-pdf-using-csharp/">在 C# .NET 中從 PDF 提取圖像 | PDF 圖像提取 API</a></li>
<li><a href="https://blog.groupdocs.cloud/zh-hant/parser/extract-images-from-pdf-documents-in-java/">在 Java 中從 PDF 文檔提取圖像</a></li>
<li><a href="https://blog.groupdocs.cloud/zh-hant/parser/extract-text-from-word-document-csharp/">使用 .NET REST API 從 PDF 提取文字 | 文檔到文字轉換器</a></li>
</ul>
]]></content:encoded>
    </item>
    
    <item>
      <title>在 Java 中從 PDF 文檔提取圖像</title>
      <link>https://blog-qa.groupdocs.cloud/zh-hant/parser/extract-images-from-pdf-documents-in-java/</link>
      <pubDate>Fri, 02 Oct 2026 10:36:06 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/zh-hant/parser/extract-images-from-pdf-documents-in-java/</guid>
      <description>了解如何使用 GroupDocs.Parser Cloud SDK 在 Java 中從 PDF 文檔中提取圖像。指南涵蓋設置、代碼示例、cURL 調用和最佳實踐。</description>
      <content:encoded><![CDATA[<p>從 <a href="https://docs.fileformat.com/pdf">PDF</a> 檔案中提取圖像是構建文件處理流水線時的常見需求，特別是當您需要將圖形重複用於縮圖、報告或進一步分析時。 <a href="https://products.groupdocs.cloud/parser/java/">GroupDocs.Parser Cloud SDK for Java</a> 提供了一個直接的 API，讓您只需幾行程式碼即可從 PDF 中提取所有嵌入的圖像。本指南將帶您完成 SDK 的配置、執行完整的程式碼範例、使用 cURL 完成相同任務，以及應用最佳實踐以確保可靠的 PDF 圖像提取。</p>
<h2 id="在-java-中-5-步提取-pdf-文檔中的圖像">在 Java 中 5 步提取 PDF 文檔中的圖像</h2>
<ol>
<li><strong>配置 API 憑證</strong>：建立一個 <code>Configuration</code> 物件，並設定您的 client ID 和 secret。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>Configuration config <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Configuration<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>config<span style="color:#f92672">.</span><span style="color:#a6e22e">setClientId</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>config<span style="color:#f92672">.</span><span style="color:#a6e22e">setClientSecret</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><ol start="2">
<li><strong>初始化 Parser API</strong>：使用配置建立 <code>ApiClient</code>，並實例化 <code>ParserApi</code>。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>ApiClient apiClient <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ApiClient<span style="color:#f92672">(</span>config<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>ParserApi parserApi <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ParserApi<span style="color:#f92672">(</span>apiClient<span style="color:#f92672">);</span>
</span></span></code></pre></div><ol start="3">
<li>
<p><strong>建立圖像提取請求</strong>：使用 <code>FileInfo</code> 指定 PDF 檔案路徑，並建立 <code>ExtractImagesRequest</code>。</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-java" data-lang="java"><span style="display:flex;"><span>String inputFilePath <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;input.pdf&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>ExtractImagesRequest request <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ExtractImagesRequest<span style="color:#f92672">()</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">.</span><span style="color:#a6e22e">setFileInfo</span><span style="color:#f92672">(</span><span style="color:#66d9ef">new</span> FileInfo<span style="color:#f92672">().</span><span style="color:#a6e22e">setFilePath</span><span style="color:#f92672">(</span>inputFilePath<span style="color:#f92672">));</span>
</span></span></code></pre></div></li>
<li>
<p><strong>執行提取並檢索圖像</strong>：呼叫 <code>extractImages</code> 並取得 <code>Image</code> 物件的清單。</p>
</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>ImagesResult imagesResult <span style="color:#f92672">=</span> parserApi<span style="color:#f92672">.</span><span style="color:#a6e22e">extractImages</span><span style="color:#f92672">(</span>request<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>List<span style="color:#f92672">&lt;</span>Image<span style="color:#f92672">&gt;</span> images <span style="color:#f92672">=</span> imagesResult<span style="color:#f92672">.</span><span style="color:#a6e22e">getImages</span><span style="color:#f92672">();</span>
</span></span></code></pre></div><ol start="5">
<li><strong>將每個圖像保存到本地存儲</strong>：遍歷集合並將二進位資料寫入檔案。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#66d9ef">for</span> <span style="color:#f92672">(</span><span style="color:#66d9ef">int</span> i <span style="color:#f92672">=</span> 0<span style="color:#f92672">;</span> i <span style="color:#f92672">&lt;</span> images<span style="color:#f92672">.</span><span style="color:#a6e22e">size</span><span style="color:#f92672">();</span> i<span style="color:#f92672">++)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    Image img <span style="color:#f92672">=</span> images<span style="color:#f92672">.</span><span style="color:#a6e22e">get</span><span style="color:#f92672">(</span>i<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>    String outputFileName <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;extracted_image_&#34;</span> <span style="color:#f92672">+</span> <span style="color:#f92672">(</span>i <span style="color:#f92672">+</span> 1<span style="color:#f92672">)</span> <span style="color:#f92672">+</span> <span style="color:#e6db74">&#34;_&#34;</span> <span style="color:#f92672">+</span> img<span style="color:#f92672">.</span><span style="color:#a6e22e">getFileName</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">try</span> <span style="color:#f92672">(</span>FileOutputStream fos <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> FileOutputStream<span style="color:#f92672">(</span>outputFileName<span style="color:#f92672">))</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>        fos<span style="color:#f92672">.</span><span style="color:#a6e22e">write</span><span style="color:#f92672">(</span>img<span style="color:#f92672">.</span><span style="color:#a6e22e">getData</span><span style="color:#f92672">());</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>    System<span style="color:#f92672">.</span><span style="color:#a6e22e">out</span><span style="color:#f92672">.</span><span style="color:#a6e22e">println</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Saved image: &#34;</span> <span style="color:#f92672">+</span> outputFileName<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">}</span>
</span></span></code></pre></div><p>如需了解每個類別的更多細節，請參閱<a href="https://reference.groupdocs.cloud/parser/">官方 API 參考</a>。</p>
<h2 id="完整程式碼範例在-java-中使用-groupdocsparser-從-pdf-文件提取圖像">完整程式碼範例：在 Java 中使用 GroupDocs.Parser 從 PDF 文件提取圖像</h2>
<p>以下範例示範了從憑證設定到圖像保存的完整工作流程。</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-java" data-lang="java"><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.parser.cloud.ApiClient<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.parser.cloud.Configuration<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.parser.cloud.api.ParserApi<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.parser.cloud.model.FileInfo<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.parser.cloud.model.Image<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.parser.cloud.model.ImagesResult<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.parser.cloud.model.requests.ExtractImagesRequest<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> java.io.FileOutputStream<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> java.util.List<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">public</span> <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">ExtractImagesFromPdf</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">public</span> <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> <span style="color:#a6e22e">main</span><span style="color:#f92672">(</span>String<span style="color:#f92672">[]</span> args<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// Configure API credentials
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        Configuration config <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Configuration<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>        config<span style="color:#f92672">.</span><span style="color:#a6e22e">setClientId</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        config<span style="color:#f92672">.</span><span style="color:#a6e22e">setClientSecret</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// config.setBaseUrl(&#34;https://api.groupdocs.cloud&#34;); // optional, if needed
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Initialize API client and Parser API
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        ApiClient apiClient <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ApiClient<span style="color:#f92672">(</span>config<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        ParserApi parserApi <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ParserApi<span style="color:#f92672">(</span>apiClient<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Path to the PDF file stored in GroupDocs Cloud storage
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        String inputFilePath <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;input.pdf&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Build request for image extraction
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        ExtractImagesRequest request <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ExtractImagesRequest<span style="color:#f92672">()</span>
</span></span><span style="display:flex;"><span>                <span style="color:#f92672">.</span><span style="color:#a6e22e">setFileInfo</span><span style="color:#f92672">(</span><span style="color:#66d9ef">new</span> FileInfo<span style="color:#f92672">().</span><span style="color:#a6e22e">setFilePath</span><span style="color:#f92672">(</span>inputFilePath<span style="color:#f92672">));</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">try</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Perform extraction
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            ImagesResult imagesResult <span style="color:#f92672">=</span> parserApi<span style="color:#f92672">.</span><span style="color:#a6e22e">extractImages</span><span style="color:#f92672">(</span>request<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            List<span style="color:#f92672">&lt;</span>Image<span style="color:#f92672">&gt;</span> images <span style="color:#f92672">=</span> imagesResult<span style="color:#f92672">.</span><span style="color:#a6e22e">getImages</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Save each extracted image to local disk
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            <span style="color:#66d9ef">for</span> <span style="color:#f92672">(</span><span style="color:#66d9ef">int</span> i <span style="color:#f92672">=</span> 0<span style="color:#f92672">;</span> i <span style="color:#f92672">&lt;</span> images<span style="color:#f92672">.</span><span style="color:#a6e22e">size</span><span style="color:#f92672">();</span> i<span style="color:#f92672">++)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>                Image img <span style="color:#f92672">=</span> images<span style="color:#f92672">.</span><span style="color:#a6e22e">get</span><span style="color:#f92672">(</span>i<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>                String outputFileName <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;extracted_image_&#34;</span> <span style="color:#f92672">+</span> <span style="color:#f92672">(</span>i <span style="color:#f92672">+</span> 1<span style="color:#f92672">)</span> <span style="color:#f92672">+</span> <span style="color:#e6db74">&#34;_&#34;</span> <span style="color:#f92672">+</span> img<span style="color:#f92672">.</span><span style="color:#a6e22e">getFileName</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">try</span> <span style="color:#f92672">(</span>FileOutputStream fos <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> FileOutputStream<span style="color:#f92672">(</span>outputFileName<span style="color:#f92672">))</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>                    fos<span style="color:#f92672">.</span><span style="color:#a6e22e">write</span><span style="color:#f92672">(</span>img<span style="color:#f92672">.</span><span style="color:#a6e22e">getData</span><span style="color:#f92672">());</span>
</span></span><span style="display:flex;"><span>                <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>                System<span style="color:#f92672">.</span><span style="color:#a6e22e">out</span><span style="color:#f92672">.</span><span style="color:#a6e22e">println</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Saved image: &#34;</span> <span style="color:#f92672">+</span> outputFileName<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span> <span style="color:#66d9ef">catch</span> <span style="color:#f92672">(</span>Exception e<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            e<span style="color:#f92672">.</span><span style="color:#a6e22e">printStackTrace</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">}</span>
</span></span></code></pre></div><blockquote>
<p><strong>注意：</strong> 此程式碼範例展示了核心功能。在您的專案中使用之前，請確保更新所有檔案路徑和設定值以符合實際環境，驗證所有必要的相依項目已正確安裝，並在開發環境中徹底測試。如果您遇到任何問題，請參閱<a href="https://docs.groupdocs.cloud/parser/">官方文件</a>或聯繫<a href="https://forum.groupdocs.cloud/c/parser/19">支援團隊</a>以獲得協助。</p>
</blockquote>
<h2 id="使用-curl-和-rest-api-提取-pdf-圖像">使用 cURL 和 REST API 提取 PDF 圖像</h2>
<p>您可以透過直接呼叫 GroupDocs.Parser Cloud REST 端點，而無需編寫 Java 程式碼，即可達成相同的結果。</p>
<ol>
<li><strong>取得存取令牌</strong></li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/connect/token&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/x-www-form-urlencoded&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#34;grant_type=client_credentials&amp;client_id=YOUR_CLIENT_ID&amp;client_secret=YOUR_CLIENT_SECRET&#34;</span>
</span></span></code></pre></div><ol start="2">
<li><strong>上傳 PDF 檔案</strong></li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/file/upload?path=input.pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>        -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>        -F <span style="color:#e6db74">&#34;file=@/path/to/input.pdf&#34;</span>
</span></span></code></pre></div><ol start="3">
<li><strong>請求圖像提取</strong></li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/parser/extractImages&#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;{&#34;fileInfo&#34;: {&#34;filePath&#34;: &#34;input.pdf&#34;}}&#39;</span>
</span></span></code></pre></div><ol start="4">
<li><strong>下載提取的圖像</strong>（回應包含 base64 資料；您可以在本地解碼）</li>
</ol>
<p>欲取得完整的參數清單，請參閱<a href="https://reference.groupdocs.cloud/parser/">官方 API 文件</a>。</p>
<h2 id="安裝與設定-groupdocsparser-cloud-sdk-for-java">安裝與設定 GroupDocs.Parser Cloud SDK for Java</h2>
<p>將 Maven 依賴項添加到您的 <code>pom.xml</code>（或等效的 Gradle 片段）。</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-xml" data-lang="xml"><span style="display:flex;"><span><span style="color:#f92672">&lt;dependency&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;groupId&gt;</span>com.groupdocs<span style="color:#f92672">&lt;/groupId&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;artifactId&gt;</span>groupdocs-parser-cloud<span style="color:#f92672">&lt;/artifactId&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;version&gt;</span>26.2<span style="color:#f92672">&lt;/version&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;/dependency&gt;</span>
</span></span></code></pre></div><p>SDK 以雲端庫的形式提供；不需要本地二進位檔。從<a href="https://releases.groupdocs.cloud/parser/java/">發行頁面</a>下載最新套件。確保您已安裝 Java 8 或更高版本，並擁有有效的 GroupDocs Cloud 帳戶以及客戶端 ID 和密鑰。</p>
<h2 id="groupdocsparser-cloud-sdk-for-java-功能啟用圖像檢索">GroupDocs.Parser Cloud SDK for Java 功能：啟用圖像檢索</h2>
<ul>
<li><strong>完整的 PDF 圖像提取</strong> - 檢索文件中嵌入的所有光柵和向量圖像。</li>
<li><strong>每個圖像的元資料</strong> - 返回檔案名稱、大小、格式和頁碼。</li>
<li><strong>支援所有常見的圖像格式</strong> - <a href="https://docs.fileformat.com/image/png/">PNG</a>、<a href="https://docs.fileformat.com/image/jpg/">JPG</a>、<a href="https://docs.fileformat.com/image/bmp/">BMP</a>、<a href="https://docs.fileformat.com/image/gif/">GIF</a>、<a href="https://docs.fileformat.com/image/tiff/">TIFF</a>，等更多。</li>
<li><strong>雲端儲存整合</strong> - 直接在 GroupDocs Cloud 中的檔案上工作，無需先下載。</li>
<li><strong>可擴展的 REST‑based 處理</strong> - 透過雲端 API 處理大型 PDF 和高容量工作負載。</li>
</ul>
<h2 id="微調圖像提取設定">微調圖像提取設定</h2>
<p>雖然基本請求已可直接使用，但您可以調整以下選項：</p>
<ul>
<li><strong>密碼保護</strong> - 在 <code>FileInfo</code> 上設定 <code>password</code> 屬性以處理加密的 PDF。</li>
<li><strong>頁面範圍</strong> - 透過在請求 JSON 中加入 <code>pages</code> 陣列，將提取限制於特定頁面。</li>
<li><strong>影像格式轉換</strong> - 在請求中指定所需的輸出類型以請求轉換為其他格式（請參考 <a href="https://reference.groupdocs.cloud/parser/">API 參考</a> 以取得確切欄位）。</li>
</ul>
<p>設定密碼的範例（摘自主程式碼）：</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-java" data-lang="java"><span style="display:flex;"><span>FileInfo fileInfo <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> FileInfo<span style="color:#f92672">()</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">.</span><span style="color:#a6e22e">setFilePath</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;protected.pdf&#34;</span><span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">.</span><span style="color:#a6e22e">setPassword</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;mySecret&#34;</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><h2 id="高效-pdf-圖像提取的實用技巧">高效 PDF 圖像提取的實用技巧</h2>
<ul>
<li><strong>驗證檔案是否存在</strong> 在發送請求之前，以避免不必要的 API 呼叫。</li>
<li><strong>以串流方式處理影像</strong> 在處理大型檔案時減少記憶體使用。</li>
<li><strong>使用分頁</strong> 若只需要特定頁面的影像，這可加快回應速度。</li>
<li><strong>處理 API 速率限制</strong> 透過在 HTTP 429 回應時實作指數退避。</li>
<li><strong>記錄每個已儲存的檔名</strong> 以簡化故障排除和稽核追蹤。</li>
</ul>
<h2 id="結論">結論</h2>
<p>在 Java 中從 PDF 文檔提取圖像變得簡單且可靠，只要您利用 <a href="https://products.groupdocs.cloud/parser/java/">GroupDocs.Parser Cloud SDK for Java</a> 的強大功能。該 SDK 處理憑證管理、雲存儲交互和圖像解碼，讓您專注於應用程式邏輯。對於生產環境部署，請在 <a href="https://purchase.groupdocs.cloud/temporary-license/">定價頁面</a> 購買正式授權，或獲取臨時授權以進行評估。通過本文中的代碼示例、cURL 指南和最佳實踐建議，您即可將 PDF 圖像提取整合到任何基於 Java 的解決方案中。</p>
<h2 id="常見問題">常見問題</h2>
<ul>
<li>
<p><strong>可以從 PDF 中提取哪些格式？</strong><br>
SDK 可提取光柵格式，如 PNG、JPG、BMP、GIF 和 TIFF，以及在作為圖像存儲時的向量圖形。</p>
</li>
<li>
<p><strong>在提取圖像之前，我需要先下載 PDF 嗎？</strong><br>
不需要。SDK 直接與存儲在 GroupDocs Cloud 的文件協同工作，無需本地下載。</p>
</li>
<li>
<p><strong>SDK 如何處理大型 PDF？</strong><br>
抽取在伺服器端執行，因此您機器上的記憶體使用量保持低。您也可以將抽取限制在特定頁面，以提升效能。</p>
</li>
<li>
<p><strong>是否有方法在不編寫程式碼的情況下測試提取？</strong><br>
是的，您可以使用上面提供的 cURL 命令，或在產品頁面上嘗試互動式 API 控制台。</p>
</li>
</ul>
<h2 id="閱讀更多">閱讀更多</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/zh-hant/parser/extract-images-from-pdf-files-in-java-using-rest-api/">使用 REST API 在 Java 中從 PDF 文件提取圖像</a></li>
<li><a href="https://blog.groupdocs.cloud/zh-hant/parser/extract-images-from-word-documents-programmatically-in-java/">在 Java 中以程式方式從 Word 文檔提取圖像</a></li>
<li><a href="https://blog.groupdocs.cloud/zh-hant/parser/extract-images-from-pdf-documents-using-python/">使用 Python 從 PDF 文檔提取圖像</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
