<?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/th/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>th</language>
    <lastBuildDate>Mon, 12 Oct 2026 17:04:44 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/th/tag/pdf-image-extraction/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ดึงรูปภาพจากเอกสาร PDF ด้วย C#</title>
      <link>https://blog-qa.groupdocs.cloud/th/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/th/parser/extract-images-from-pdf-documents-in-csharp/</guid>
      <description>เรียนรู้วิธีการดึงรูปภาพจากเอกสาร PDF ด้วย C# โดยใช้ GroupDocs.Parser Cloud SDK for .NET. ทำตามคู่มือขั้นตอนต่อขั้นตอนนี้พร้อมโค้ด, cURL และเคล็ดลับ.</description>
      <content:encoded><![CDATA[<p>การดึงภาพจากเอกสาร <a href="https://docs.fileformat.com/pdf">PDF</a> เป็นความต้องการที่พบบ่อยเมื่อต้องสร้าง pipeline การประมวลผลเอกสาร โดยเฉพาะสำหรับการสร้าง thumbnail หรือการนำกราฟิกไปใช้ใหม่ในที่อื่น ๆ <a href="https://products.groupdocs.cloud/parser/net/">GroupDocs.Parser Cloud SDK for .NET</a> มี API ที่ทรงพลังซึ่งทำให้งานนี้ทำได้อย่างง่ายดายใน C#. ในคู่มือนี้คุณจะได้เรียนรู้วิธีอัปโหลด PDF, ดึงภาพที่ฝังอยู่ทั้งหมด, บันทึกลงในเครื่อง, และถ้าต้องการก็ทำความสะอาดไฟล์ระยะไกล, พร้อมตัวอย่างโค้ดเต็มและ REST examples.</p>
<h2 id="ขนตอนการดงรปภาพจากเอกสาร-pdf-ดวย-c">ขั้นตอนการดึงรูปภาพจากเอกสาร PDF ด้วย C#</h2>
<ol>
<li><strong>อัปโหลด PDF ไปยัง GroupDocs Cloud storage</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>(Optional) ทำความสะอาด 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="ดงรปภาพผาน-rest-api-ดวย-curl">ดึงรูปภาพผ่าน REST API ด้วย cURL</h2>
<p>การดำเนินการเดียวกันสามารถทำได้ด้วยการเรียก REST โดยตรง ด้านล่างเป็นขั้นตอนการทำงาน cURL ขั้นต่ำ</p>
<ol>
<li><strong>รับโทเค็นการเข้าถึง</strong> (OAuth 2.0 client credentials grant).</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>สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ endpoint และพารามิเตอร์ โปรดดู <a href="https://docs.groupdocs.cloud/parser/">เอกสาร API อย่างเป็นทางการ</a>.</p>
<h2 id="เตรยมสภาพแวดลอมใหพรอม">เตรียมสภาพแวดล้อมให้พร้อม</h2>
<ol>
<li>Install the .NET client library via NuGet:</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>The package is available from the official <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>
</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>git clone https://github.com/groupdocs-parser-cloud/groupdocs-parser-cloud-dotnet.git
</span></span></code></pre></div><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>: ใช้พารามิเตอร์ <code>imageQuality</code> (0‑100) หากคุณต้องการผลลัพธ์ที่ <a href="https://docs.fileformat.com/web/compressed/">compressed</a> .</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>การดึงรูปภาพจากเอกสาร PDF ใน C# กลายเป็นกระบวนการที่ง่ายและเชื่อถือได้เมื่อคุณใช้ <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 ที่ให้มา, คุณพร้อมที่จะเพิ่มการดึงรูปภาพ PDF ที่แข็งแรงให้กับแอปพลิเคชัน .NET ใด ๆ</p>
<h2 id="คำถามทพบบอย">คำถามที่พบบ่อย</h2>
<p><strong>ฉันจะดึงรูปภาพจากเอกสาร PDF โดยใช้ C# อย่างไร?</strong><br>
ใช้เมธอด <code>GetDocumentImages</code> ของ Parser API หลังจากอัปโหลด PDF ด้วย <code>StorageApi.UploadFile</code> ดึงสตริง 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/th/parser/extract-images-from-pdf-using-csharp/">ดึงรูปภาพจาก PDF ใน C# .NET | API ตัวดึงรูปภาพ PDF</a></li>
<li><a href="https://blog.groupdocs.cloud/th/parser/extract-images-from-pdf-documents-in-java/">ดึงรูปภาพจากเอกสาร PDF ใน Java</a></li>
<li><a href="https://blog.groupdocs.cloud/th/parser/extract-text-from-word-document-csharp/">ดึงข้อความจาก PDF ด้วย .NET REST API | ตัวแปลงเอกสารเป็นข้อความ</a></li>
</ul>
]]></content:encoded>
    </item>
    
    <item>
      <title>สกัดรูปภาพจากเอกสาร PDF ด้วย Java</title>
      <link>https://blog-qa.groupdocs.cloud/th/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/th/parser/extract-images-from-pdf-documents-in-java/</guid>
      <description>เรียนรู้วิธีการดึงรูปภาพจากเอกสาร PDF ใน Java โดยใช้ GroupDocs.Parser Cloud SDK คู่มือครอบคลุมการตั้งค่า ตัวอย่างโค้ด คำสั่ง cURL และแนวปฏิบัติที่ดีที่สุด</description>
      <content:encoded><![CDATA[<p>การดึงภาพจากไฟล์ <a href="https://docs.fileformat.com/pdf">PDF</a> เป็นความต้องการที่พบบ่อยเมื่อสร้าง pipeline การประมวลผลเอกสาร โดยเฉพาะเมื่อคุณต้องการใช้กราฟิกซ้ำสำหรับรูปย่อ รายงาน หรือการวิเคราะห์ต่อไป <a href="https://products.groupdocs.cloud/parser/java/">GroupDocs.Parser Cloud SDK for Java</a> ให้ API ที่ง่ายต่อการใช้งานซึ่งช่วยให้คุณดึงภาพที่ฝังอยู่ทั้งหมดจาก PDF ได้ด้วยไม่กี่บรรทัดของโค้ด คู่มือนี้จะพาคุณผ่านการกำหนดค่า SDK การรันตัวอย่างโค้ดเต็มรูปแบบ การใช้ cURL สำหรับงานเดียวกัน และการนำแนวปฏิบัติที่ดีที่สุดมาใช้เพื่อให้การดึงภาพจาก PDF มีความน่าเชื่อถือ</p>
<h2 id="ดงรปภาพจากเอกสาร-pdf-ดวย-java-ใน-5-ขนตอน">ดึงรูปภาพจากเอกสาร PDF ด้วย Java ใน 5 ขั้นตอน</h2>
<ol>
<li><strong>กำหนดค่า API credentials</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>: ระบุเส้นทางไฟล์ PDF โดยใช้ <code>FileInfo</code> และสร้าง <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="ตวอยางโคดเตม-ดงรปภาพจากเอกสาร-pdf-ดวย-java-โดยใช-groupdocsparser">ตัวอย่างโค้ดเต็ม: ดึงรูปภาพจากเอกสาร PDF ด้วย Java โดยใช้ 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-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="การสกดภาพจาก-pdf-ผาน-curl-และ-rest-api">การสกัดภาพจาก PDF ผ่าน cURL และ REST API</h2>
<p>คุณสามารถบรรลุผลลัพธ์เดียวกันได้โดยไม่ต้องเขียนโค้ด Java โดยการเรียกใช้ REST endpoint ของ GroupDocs.Parser Cloud โดยตรง.</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>The SDK จะถูกจัดส่งเป็นไลบรารีบนคลาวด์; ไม่จำเป็นต้องมีไบนารีในเครื่อง. ดาวน์โหลดแพ็กเกจล่าสุดจาก <a href="https://releases.groupdocs.cloud/parser/java/">หน้ารีลีส</a>. ตรวจสอบว่าคุณมี Java 8 หรือสูงกว่าและมีบัญชี GroupDocs Cloud ที่ถูกต้องพร้อม client ID และ secret.</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> - จัดการ PDF ขนาดใหญ่และงานที่มีปริมาณสูงผ่าน Cloud API.</li>
</ul>
<h2 id="ปรบจนการตงคาการสกดภาพ">ปรับจูนการตั้งค่าการสกัดภาพ</h2>
<p>แม้คำขอพื้นฐานจะทำงานได้โดยอัตโนมัติ คุณสามารถปรับตัวเลือกต่าง ๆ เช่น:</p>
<ul>
<li><strong>การป้องกันด้วยรหัสผ่าน</strong> - ตั้งค่าคุณสมบัติ <code>password</code> บน <code>FileInfo</code> สำหรับ PDF ที่เข้ารหัส.</li>
<li><strong>ช่วงหน้า</strong> - จำกัดการสกัดข้อมูลให้เฉพาะหน้าที่ต้องการโดยเพิ่มอาร์เรย์ <code>pages</code> ลงใน JSON ของคำขอ.</li>
<li><strong>การแปลงรูปแบบภาพ</strong> - ขอแปลงเป็นรูปแบบอื่นโดยระบุประเภทเอาต์พุตที่ต้องการในคำขอ (ดูที่ <a href="https://reference.groupdocs.cloud/parser/">API reference</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>การสกัดภาพจากเอกสาร PDF ใน Java กลายเป็นงานที่ง่ายและเชื่อถือได้เมื่อคุณใช้พลังของ <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 storage, ทำให้ไม่ต้องดาวน์โหลดลงเครื่อง</p>
</li>
<li>
<p><strong>SDK จัดการกับ PDF ขนาดใหญ่อย่างไร?</strong><br>
การสกัดข้อมูลทำบนเซิร์ฟเวอร์ ดังนั้นการใช้หน่วยความจำบนเครื่องของคุณจึงต่ำอยู่เสมอ คุณยังสามารถจำกัดการสกัดข้อมูลให้เฉพาะหน้าเพื่อปรับปรุงประสิทธิภาพได้</p>
</li>
<li>
<p><strong>มีวิธีทดสอบการสกัดโดยไม่ต้องเขียนโค้ดหรือไม่?</strong><br>
ใช่ คุณสามารถใช้คำสั่ง cURL ที่ให้ไว้ข้างต้นหรือทดลองคอนโซล API แบบโต้ตอบบนหน้าผลิตภัณฑ์ได้</p>
</li>
</ul>
<h2 id="read-more">Read More</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/th/parser/extract-images-from-pdf-files-in-java-using-rest-api/">ดึงรูปภาพจากไฟล์ PDF ใน Java โดยใช้ REST API</a></li>
<li><a href="https://blog.groupdocs.cloud/th/parser/extract-images-from-word-documents-programmatically-in-java/">ดึงรูปภาพจากเอกสาร Word อย่างอัตโนมัติใน Java</a></li>
<li><a href="https://blog.groupdocs.cloud/th/parser/extract-images-from-pdf-documents-using-python/">ดึงรูปภาพจากเเอกสาร PDF โดยใช้ Python</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
