<?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/fa/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>fa</language>
    <lastBuildDate>Mon, 12 Oct 2026 17:04:44 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/fa/tag/image-extraction-techniques/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>استخراج تصاویر از اسناد PDF در C#</title>
      <link>https://blog-qa.groupdocs.cloud/fa/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/fa/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> یک نیاز متداول هنگام ساخت خطوط پردازش سند است، به‌ویژه برای تولید تصویرهای کوچک یا استفاده مجدد از گرافیک‌ها در مکان‌های دیگر.<br>
<a href="https://products.groupdocs.cloud/parser/net/">GroupDocs.Parser Cloud SDK for .NET</a> یک API قدرتمند ارائه می‌دهد که این کار را در C# به‌صورت ساده انجام می‌دهد.</p>
<p>در این راهنما شما یاد خواهید گرفت که چگونه یک PDF را بارگذاری کنید، تمام تصاویر جاسازی‌شده را بازیابی کنید، آنها را به‌صورت محلی ذخیره کنید و به‌صورت اختیاری فایل راه‌دور را پاک کنید، همراه با کد کامل و مثال‌های REST.</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>(اختیاری) پاک‌سازی 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>برای جزئیات بیشتر در مورد نقاط انتهایی و پارامترها، به <a href="https://docs.groupdocs.cloud/parser/">مستندات رسمی API</a> مراجعه کنید.</p>
<h2 id="آمادهسازی-محیط">آماده‌سازی محیط</h2>
<ol>
<li>کتابخانهٔ مشتری .NET را از طریق 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>پکیج از <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>Direct image retrieval</strong>: فراخوانی <code>GetDocumentImages</code> تصاویر را در قالب اصلی خود بدون مراحل تبدیل اضافی برمی‌گرداند.</li>
<li><strong>Base64 delivery</strong>: تصاویر به‌صورت رشته‌های Base64 ارائه می‌شوند، که باعث می‌شود در هر زبانی به‌راحتی رمزگشایی شوند.</li>
<li><strong>Page‑level metadata</strong>: هر <code>ImageInfo</code> شامل شماره صفحه، ابعاد، وضوح و شاخص است که به سازماندهی دارایی‌های استخراج‌شده کمک می‌کند.</li>
<li><strong>Support for all common raster formats</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>Scalable cloud processing</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/">فشرده</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> 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/fa/parser/extract-images-from-pdf-using-csharp/">استخراج تصاویر از PDF در C# .NET | API استخراج تصویر PDF</a></li>
<li><a href="https://blog.groupdocs.cloud/fa/parser/extract-images-from-pdf-documents-in-java/">استخراج تصاویر از اسناد PDF در Java</a></li>
<li><a href="https://blog.groupdocs.cloud/fa/parser/extract-text-from-word-document-csharp/">استخراج متن از PDF با استفاده از .NET REST API | مبدل سند به متن</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
