<?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>image extraction techniques on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/vi/tag/image-extraction-techniques/</link>
    <description>Recent content in image extraction techniques on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>vi</language>
    <lastBuildDate>Mon, 12 Oct 2026 17:04:44 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/vi/tag/image-extraction-techniques/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Trích xuất hình ảnh từ tài liệu PDF bằng C#</title>
      <link>https://blog-qa.groupdocs.cloud/vi/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/vi/parser/extract-images-from-pdf-documents-in-csharp/</guid>
      <description>Tìm hiểu cách trích xuất hình ảnh từ tài liệu PDF trong C# bằng cách sử dụng GroupDocs.Parser Cloud SDK for .NET. Thực hiện theo hướng dẫn từng bước này với mã, cURL và các mẹo.</description>
      <content:encoded><![CDATA[<p>Việc trích xuất hình ảnh từ tài liệu <a href="https://docs.fileformat.com/pdf">PDF</a> là một yêu cầu thường gặp khi xây dựng các quy trình xử lý tài liệu, đặc biệt là để tạo thumbnail hoặc tái sử dụng đồ họa ở nơi khác. <a href="https://products.groupdocs.cloud/parser/net/">GroupDocs.Parser Cloud SDK for .NET</a> cung cấp một API mạnh mẽ giúp công việc này trở nên đơn giản trong C#. Trong hướng dẫn này, bạn sẽ học cách tải lên một tệp PDF, lấy tất cả các hình ảnh nhúng, lưu chúng cục bộ và tùy chọn xóa tệp trên máy chủ, kèm theo mã đầy đủ và các ví dụ REST.</p>
<h2 id="các-bước-để-trích-xuất-hình-ảnh-từ-tài-liệu-pdf-trong-c">Các bước để trích xuất hình ảnh từ tài liệu PDF trong C#</h2>
<ol>
<li><strong>Upload PDF to GroupDocs Cloud storage</strong>: Sử dụng <code>StorageApi.UploadFile</code> để đặt tệp PDF nguồn lên đám mây.</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>Lệnh này đảm bảo tệp có thể truy cập để phân tích.</p>
<ol start="2">
<li><strong>Yêu cầu hình ảnh tài liệu</strong>: Gọi <code>ParserApi.GetDocumentImages</code> với một <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>Phản hồi chứa một tập hợp các đối tượng <code>ImageInfo</code>, mỗi đối tượng chứa dữ liệu Base64 và siêu dữ liệu. Xem <a href="https://reference.groupdocs.cloud/parser/">Tham chiếu API</a> để biết chi tiết đầy đủ.</p>
<ol start="3">
<li><strong>Giải mã và lưu mỗi hình ảnh</strong>: Duyệt qua <code>imagesResult.Images</code>, chuyển chuỗi Base64 thành mảng byte và ghi tệp ra đĩa.</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>Bảng điều khiển ghi lại tên tệp đã lưu, kích thước và DPI để xác minh.</p>
<ol start="4">
<li><strong>(Tùy chọn) Dọn dẹp PDF từ xa</strong>: Sau khi trích xuất, bạn có thể xóa tệp đã tải lên để giữ cho bộ nhớ sạch sẽ.</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>Bước này được bọc trong khối try‑catch để bỏ qua bất kỳ lỗi dọn dẹp nào.</p>
<ol start="5">
<li><strong>Xem lại đầu ra</strong>: Bảng điều khiển sẽ hiển thị một bản tóm tắt như <code>Total images extracted: 12</code>, xác nhận việc trích xuất thành công.</li>
</ol>
<h2 id="ví-dụ-mã-hoàn-chỉnh-trích-xuất-hình-ảnh-từ-tài-liệu-pdf-bằng-groupdocsparser">Ví dụ mã hoàn chỉnh: Trích xuất hình ảnh từ tài liệu PDF bằng GroupDocs.Parser</h2>
<p>Ví dụ sau đây trình bày quy trình làm việc đầy đủ đã mô tả ở trên. Nó bao gồm cấu hình, tải lên, trích xuất hình ảnh, lưu và dọn dẹp tùy chọn.</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>Lưu ý:</strong> Ví dụ mã này minh họa chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật mọi đường dẫn tệp và giá trị cấu hình để phù hợp với môi trường thực tế của bạn, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển. Nếu gặp bất kỳ vấn đề nào, vui lòng tham khảo <a href="https://docs.groupdocs.cloud/parser/">tài liệu chính thức</a> hoặc liên hệ với <a href="https://forum.groupdocs.cloud/c/parser/19">đội hỗ trợ</a> để được trợ giúp.</p>
</blockquote>
<h2 id="trích-xuất-hình-ảnh-qua-rest-api-bằng-curl">Trích xuất hình ảnh qua REST API bằng cURL</h2>
<p>Các thao tác tương tự có thể được thực hiện bằng các cuộc gọi REST trực tiếp. Dưới đây là quy trình cURL tối thiểu.</p>
<ol>
<li><strong>Lấy token truy cập</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>Phản hồi chứa <code>access_token</code>.</p>
<ol start="2">
<li><strong>Tải lên PDF</strong> đến bộ nhớ đám mây.</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>Yêu cầu hình ảnh</strong> cho tài liệu đã tải lên.</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>Phản hồi <a href="https://docs.fileformat.com/web/json/">JSON</a> bao gồm một mảng các hình ảnh với <code>base64Data</code>, <code>fileExtension</code>, <code>pageNumber</code>, v.v.</p>
<ol start="4">
<li><strong>Lưu mỗi hình ảnh</strong> cục bộ (ví dụ sử dụng <code>jq</code> và <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>Để biết thêm chi tiết về các điểm cuối và tham số, xem <a href="https://docs.groupdocs.cloud/parser/">tài liệu API chính thức</a>.</p>
<h2 id="chuẩn-bị-môi-trường">Chuẩn bị môi trường</h2>
<ol>
<li>Cài đặt thư viện khách hàng .NET thông qua 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>Gói có sẵn từ <a href="https://releases.groupdocs.cloud/parser/net/">trang tải xuống</a> chính thức.</p>
<ol start="2">
<li>
<p>Đảm bảo rằng bạn đã cài đặt .NET 6.0 hoặc phiên bản mới hơn và có một tài khoản GroupDocs Cloud hợp lệ với thông tin xác thực client.</p>
</li>
<li>
<p>(Tùy chọn) Sao chép kho mẫu để tham khảo:</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="điều-gì-làm-cho-groupdocsparser-phù-hợp-cho-việc-trích-xuất-hình-ảnh">Điều gì làm cho GroupDocs.Parser phù hợp cho việc trích xuất hình ảnh</h2>
<ul>
<li><strong>Truy xuất hình ảnh trực tiếp</strong>: Lệnh <code>GetDocumentImages</code> trả về hình ảnh ở định dạng gốc mà không cần các bước chuyển đổi bổ sung.</li>
<li><strong>Cung cấp dưới dạng Base64</strong>: Hình ảnh được cung cấp dưới dạng chuỗi Base64, giúp dễ dàng giải mã trong bất kỳ ngôn ngữ nào.</li>
<li><strong>Siêu dữ liệu cấp trang</strong>: Mỗi <code>ImageInfo</code> bao gồm số trang, kích thước, độ phân giải và chỉ mục, giúp tổ chức các tài sản đã trích xuất.</li>
<li><strong>Hỗ trợ tất cả các định dạng raster phổ biến</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> và nhiều định dạng khác được giữ nguyên như khi lưu trong PDF.</li>
<li><strong>Xử lý đám mây có khả năng mở rộng</strong>: Các PDF lớn được xử lý trên máy chủ GroupDocs, giảm áp lực bộ nhớ cho ứng dụng của bạn.</li>
</ul>
<h2 id="cấu-hình-tùy-chọn-trích-xuất-hình-ảnh">Cấu hình tùy chọn trích xuất hình ảnh</h2>
<p>Trong khi ví dụ cơ bản hoạt động ngay lập tức, bạn có thể tinh chỉnh yêu cầu:</p>
<ul>
<li><strong>Xác định phạm vi trang</strong>: Thêm <code>pages = &quot;1-5&quot;</code> vào <code>GetDocumentImagesRequest</code> để giới hạn việc trích xuất.</li>
<li><strong>Đặt chất lượng hình ảnh</strong>: Sử dụng tham số <code>imageQuality</code> (0‑100) nếu bạn cần đầu ra <a href="https://docs.fileformat.com/web/compressed/">đã nén</a>.</li>
<li><strong>Lọc theo định dạng</strong>: Cung cấp <code>fileExtensions = [&quot;png&quot;,&quot;jpeg&quot;]</code> để nhận chỉ các định dạng đã chọn.</li>
</ul>
<p>Các tùy chọn này được ghi lại trong <a href="https://reference.groupdocs.cloud/parser/">Tham chiếu API</a>.</p>
<h2 id="kết-luận">Kết luận</h2>
<p>Việc trích xuất hình ảnh từ tài liệu PDF trong C# trở nên đơn giản và đáng tin cậy khi bạn sử dụng <a href="https://products.groupdocs.cloud/parser/net/">GroupDocs.Parser Cloud SDK for .NET</a>. SDK xử lý việc tải lên, phân tích và chuyển đổi sang Base64, cho phép bạn tập trung vào việc lưu tệp và tích hợp chúng vào quy trình làm việc của mình. Hãy nhớ bảo mật thông tin xác thực client, tuân thủ các điều khoản cấp phép, và cân nhắc sử dụng giấy phép tạm thời để đánh giá tại <a href="https://purchase.groupdocs.cloud/temporary-license/">trang giấy phép tạm thời</a>. Với mã và các ví dụ REST được cung cấp, bạn đã sẵn sàng thêm chức năng trích xuất hình ảnh PDF mạnh mẽ vào bất kỳ ứng dụng .NET nào.</p>
<h2 id="câu-hỏi-thường-gặp">Câu hỏi thường gặp</h2>
<p><strong>Làm thế nào để tôi trích xuất hình ảnh từ tài liệu PDF bằng C#?</strong><br>
Sử dụng phương thức <code>GetDocumentImages</code> của Parser API sau khi tải lên PDF bằng <code>StorageApi.UploadFile</code>. Giải mã các chuỗi Base64 trả về và ghi chúng vào đĩa, như được minh họa trong ví dụ mã.</p>
<p><strong>Nếu PDF được bảo vệ bằng mật khẩu thì sao?</strong><br>
Bao gồm mật khẩu trong mô hình yêu cầu. SDK sẽ giải mã tệp trước khi trích xuất hình ảnh. Xem <a href="https://docs.groupdocs.cloud/parser/">tài liệu</a> để biết tên thuộc tính chính xác.</p>
<p><strong>Tôi có thể giới hạn việc trích xuất chỉ ở các trang cụ thể không?</strong><br>
Có, hãy đặt thuộc tính <code>pages</code> trên <code>GetDocumentImagesRequest</code> thành danh sách hoặc phạm vi phân tách bằng dấu phẩy (ví dụ, <code>&quot;1-3,5&quot;</code>). API sẽ trả về hình ảnh chỉ từ các trang đó.</p>
<p><strong>Có giới hạn kích thước nào cho các hình ảnh đã trích xuất không?</strong><br>
SDK trả về dữ liệu hình ảnh gốc mà không thay đổi kích thước. Nếu bạn cần các tệp nhỏ hơn, hãy xử lý hậu kỳ các hình ảnh đã lưu bằng bất kỳ thư viện xử lý hình ảnh nào.</p>
<h2 id="read-more">Read More</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/vi/parser/extract-images-from-pdf-using-csharp/">Trích xuất hình ảnh từ PDF trong C# .NET | API Trình trích xuất hình ảnh PDF</a></li>
<li><a href="https://blog.groupdocs.cloud/vi/parser/extract-images-from-pdf-documents-in-java/">Trích xuất hình ảnh từ tài liệu PDF trong Java</a></li>
<li><a href="https://blog.groupdocs.cloud/vi/parser/extract-text-from-word-document-csharp/">Trích xuất văn bản từ PDF bằng .NET REST API | Trình chuyển đổi tài liệu sang văn bản</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
