<?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>csharp pdf processing on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/id/tag/csharp-pdf-processing/</link>
    <description>Recent content in csharp pdf processing on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>id</language>
    <lastBuildDate>Mon, 12 Oct 2026 17:04:44 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/id/tag/csharp-pdf-processing/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Ekstrak Gambar dari Dokumen PDF dalam C#</title>
      <link>https://blog-qa.groupdocs.cloud/id/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/id/parser/extract-images-from-pdf-documents-in-csharp/</guid>
      <description>Pelajari cara mengekstrak gambar dari dokumen PDF dalam C# menggunakan GroupDocs.Parser Cloud SDK for .NET. Ikuti panduan langkah demi langkah ini dengan kode, cURL, dan tips.</description>
      <content:encoded><![CDATA[<p>Mengekstrak gambar dari dokumen <a href="https://docs.fileformat.com/pdf">PDF</a> adalah kebutuhan yang sering muncul saat membangun pipeline pemrosesan dokumen, terutama untuk membuat thumbnail atau menggunakan kembali grafik di tempat lain. <a href="https://products.groupdocs.cloud/parser/net/">GroupDocs.Parser Cloud SDK for .NET</a> menyediakan API yang kuat yang membuat tugas ini menjadi mudah dalam C#. Dalam panduan ini Anda akan belajar cara mengunggah PDF, mengambil semua gambar yang disematkan, menyimpannya secara lokal, dan secara opsional membersihkan file remote, dengan contoh kode lengkap dan contoh REST.</p>
<h2 id="langkah-langkah-untuk-mengekstrak-gambar-dari-dokumen-pdf-di-c">Langkah-langkah untuk Mengekstrak Gambar dari Dokumen PDF di C#</h2>
<ol>
<li><strong>Upload PDF ke penyimpanan GroupDocs Cloud</strong>: Gunakan <code>StorageApi.UploadFile</code> untuk menempatkan PDF sumber di cloud.</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>Pemanggilan ini memastikan file dapat diakses untuk diparsing.</p>
<ol start="2">
<li><strong>Minta gambar dokumen</strong>: Panggil <code>ParserApi.GetDocumentImages</code> dengan <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>Respons berisi koleksi objek <code>ImageInfo</code>, masing-masing menyimpan data Base64 dan metadata. Lihat <a href="https://reference.groupdocs.cloud/parser/">referensi API</a> untuk detail lengkap.</p>
<ol start="3">
<li><strong>Dekode dan simpan setiap gambar</strong>: Iterasi melalui <code>imagesResult.Images</code>, konversi string Base64 menjadi array byte, dan tulis file ke disk.</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>Konsol mencatat nama file yang disimpan, dimensi, dan DPI untuk verifikasi.</p>
<ol start="4">
<li><strong>(Opsional) Bersihkan PDF remote</strong>: Setelah ekstraksi, Anda dapat menghapus file yang diunggah untuk menjaga penyimpanan tetap rapi.</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>Langkah ini dibungkus dalam blok try‑catch untuk mengabaikan kesalahan pembersihan apa pun.</p>
<ol start="5">
<li><strong>Tinjau output</strong>: Konsol akan menampilkan ringkasan seperti <code>Total images extracted: 12</code>, mengonfirmasi ekstraksi berhasil.</li>
</ol>
<h2 id="contoh-kode-lengkap-ekstrak-gambar-dari-dokumen-pdf-dengan-groupdocsparser">Contoh Kode Lengkap: Ekstrak Gambar dari Dokumen PDF dengan GroupDocs.Parser</h2>
<p>Contoh berikut menunjukkan alur kerja lengkap yang dijelaskan di atas. Ini mencakup konfigurasi, unggah, ekstraksi gambar, penyimpanan, dan pembersihan opsional.</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>Catatan:</strong> Contoh kode ini menunjukkan fungsi inti. Sebelum menggunakannya dalam proyek Anda, pastikan untuk memperbarui semua jalur file dan nilai konfigurasi agar sesuai dengan lingkungan Anda yang sebenarnya, verifikasi bahwa semua dependensi yang diperlukan telah terpasang dengan benar, dan uji secara menyeluruh di lingkungan pengembangan Anda. Jika Anda menemukan masalah, silakan merujuk ke <a href="https://docs.groupdocs.cloud/parser/">dokumentasi resmi</a> atau hubungi <a href="https://forum.groupdocs.cloud/c/parser/19">tim dukungan</a> untuk bantuan.</p>
</blockquote>
<h2 id="ekstrak-gambar-melalui-rest-api-menggunakan-curl">Ekstrak Gambar melalui REST API Menggunakan cURL</h2>
<p>Operasi yang sama dapat dilakukan dengan panggilan REST langsung. Di bawah ini adalah alur kerja cURL minimal.</p>
<ol>
<li><strong>Dapatkan token akses</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>Respons berisi <code>access_token</code>.</p>
<ol start="2">
<li><strong>Unggah PDF</strong> ke penyimpanan cloud.</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>Minta gambar</strong> untuk dokumen yang diunggah.</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>Respon <a href="https://docs.fileformat.com/web/json/">JSON</a> mencakup array gambar dengan <code>base64Data</code>, <code>fileExtension</code>, <code>pageNumber</code>, dll.</p>
<ol start="4">
<li><strong>Simpan setiap gambar</strong> secara lokal (contoh menggunakan <code>jq</code> dan <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>Untuk detail lebih lanjut tentang endpoint dan parameter, lihat <a href="https://docs.groupdocs.cloud/parser/">dokumentasi API resmi</a>.</p>
<h2 id="menyiapkan-lingkungan">Menyiapkan Lingkungan</h2>
<ol>
<li>Instal pustaka klien .NET melalui 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>Paket tersedia dari <a href="https://releases.groupdocs.cloud/parser/net/">halaman unduhan resmi</a>.</p>
<ol start="2">
<li>
<p>Pastikan Anda memiliki .NET 6.0 atau yang lebih baru terinstal serta akun GroupDocs Cloud yang valid dengan kredensial klien.</p>
</li>
<li>
<p>(Opsional) Klon repositori contoh untuk referensi:</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="apa-yang-membuat-groupdocsparser-cocok-untuk-ekstraksi-gambar">Apa yang Membuat GroupDocs.Parser Cocok untuk Ekstraksi Gambar</h2>
<ul>
<li><strong>Pengambilan gambar langsung</strong>: Panggilan <code>GetDocumentImages</code> mengembalikan gambar dalam format aslinya tanpa langkah konversi tambahan.</li>
<li><strong>Pengiriman Base64</strong>: Gambar disediakan sebagai string Base64, memudahkan dekripsi dalam bahasa apa pun.</li>
<li><strong>Metadata tingkat halaman</strong>: Setiap <code>ImageInfo</code> mencakup nomor halaman, dimensi, resolusi, dan indeks, yang membantu mengatur aset yang diekstrak.</li>
<li><strong>Dukungan untuk semua format raster umum</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> dan lainnya dipertahankan persis seperti yang disimpan dalam PDF.</li>
<li><strong>Pemrosesan cloud yang dapat diskalakan</strong>: PDF besar diproses di server GroupDocs, mengurangi beban memori pada aplikasi Anda.</li>
</ul>
<h2 id="mengonfigurasi-opsi-ekstraksi-gambar">Mengonfigurasi Opsi Ekstraksi Gambar</h2>
<p>Sementara contoh dasar berfungsi langsung, Anda dapat menyesuaikan permintaan secara detail:</p>
<ul>
<li><strong>Tentukan rentang halaman</strong>: Tambahkan <code>pages = &quot;1-5&quot;</code> ke <code>GetDocumentImagesRequest</code> untuk membatasi ekstraksi.</li>
<li><strong>Atur kualitas gambar</strong>: Gunakan parameter <code>imageQuality</code> (0‑100) jika Anda memerlukan output <a href="https://docs.fileformat.com/web/compressed/">compressed</a>.</li>
<li><strong>Filter berdasarkan format</strong>: Berikan <code>fileExtensions = [&quot;png&quot;,&quot;jpeg&quot;]</code> untuk menerima hanya format yang dipilih.</li>
</ul>
<p>Opsi-opsi ini didokumentasikan dalam <a href="https://reference.groupdocs.cloud/parser/">referensi API</a>.</p>
<h2 id="kesimpulan">Kesimpulan</h2>
<p>Mengekstrak gambar dari dokumen PDF di C# menjadi proses yang sederhana dan andal ketika Anda memanfaatkan <a href="https://products.groupdocs.cloud/parser/net/">GroupDocs.Parser Cloud SDK for .NET</a>. SDK menangani pengunggahan, parsing, dan konversi Base64, memungkinkan Anda fokus pada penyimpanan file dan mengintegrasikannya ke dalam alur kerja Anda. Ingatlah untuk mengamankan kredensial klien Anda, menghormati ketentuan lisensi, dan pertimbangkan lisensi sementara untuk evaluasi di <a href="https://purchase.groupdocs.cloud/temporary-license/">halaman lisensi sementara</a>. Dengan kode dan contoh REST yang disediakan, Anda siap menambahkan ekstraksi gambar PDF yang kuat ke aplikasi .NET apa pun.</p>
<h2 id="faqs">FAQs</h2>
<p><strong>Bagaimana cara mengekstrak gambar dari dokumen PDF menggunakan C#?</strong><br>
Gunakan metode <code>GetDocumentImages</code> dari Parser API setelah mengunggah PDF dengan <code>StorageApi.UploadFile</code>. Dekode string Base64 yang dikembalikan dan tulis ke disk, seperti yang ditunjukkan dalam contoh kode.</p>
<p><strong>Bagaimana jika PDF dilindungi kata sandi?</strong><br>
Sertakan kata sandi dalam model permintaan. SDK akan mendekripsi file sebelum mengekstrak gambar. Lihat <a href="https://docs.groupdocs.cloud/parser/">dokumentasi</a> untuk nama properti yang tepat.</p>
<p><strong>Bisakah saya membatasi ekstraksi ke halaman tertentu?</strong><br>
Ya, atur properti <code>pages</code> pada <code>GetDocumentImagesRequest</code> ke daftar yang dipisahkan koma atau rentang (mis., <code>&quot;1-3,5&quot;</code>). API akan mengembalikan gambar hanya dari halaman tersebut.</p>
<p><strong>Apakah ada batas ukuran untuk gambar yang diekstrak?</strong><br>
SDK mengembalikan data gambar asli tanpa mengubah ukuran. Jika Anda membutuhkan file yang lebih kecil, proses lanjutan gambar yang disimpan menggunakan perpustakaan pemrosesan gambar apa pun.</p>
<h2 id="baca-selengkapnya">Baca Selengkapnya</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/id/parser/extract-images-from-pdf-using-csharp/">Ekstrak Gambar dari PDF dalam C# .NET | API Ekstraktor Gambar PDF</a></li>
<li><a href="https://blog.groupdocs.cloud/id/parser/extract-images-from-pdf-documents-in-java/">Ekstrak Gambar dari Dokumen PDF dalam Java</a></li>
<li><a href="https://blog.groupdocs.cloud/id/parser/extract-text-from-word-document-csharp/">Ekstrak Teks dari PDF Menggunakan .NET REST API | Konverter Dokumen ke Teks</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
