<?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/pl/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>pl</language>
    <lastBuildDate>Mon, 12 Oct 2026 17:04:44 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/pl/tag/csharp-pdf-processing/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Wyodrębnianie obrazów z dokumentów PDF w C#</title>
      <link>https://blog-qa.groupdocs.cloud/pl/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/pl/parser/extract-images-from-pdf-documents-in-csharp/</guid>
      <description>Dowiedz się, jak wyodrębnić obrazy z dokumentów PDF w C# przy użyciu GroupDocs.Parser Cloud SDK for .NET. Postępuj zgodnie z tym przewodnikiem krok po kroku, zawierającym kod, cURL i wskazówki.</description>
      <content:encoded><![CDATA[<p>Wyodrębnianie obrazów z dokumentów <a href="https://docs.fileformat.com/pdf">PDF</a> jest częstym wymogiem przy budowaniu potoków przetwarzania dokumentów, szczególnie przy generowaniu miniatur lub ponownym wykorzystaniu grafiki w innym miejscu. <a href="https://products.groupdocs.cloud/parser/net/">GroupDocs.Parser Cloud SDK for .NET</a> zapewnia potężne API, które upraszcza to zadanie w C#. W tym przewodniku dowiesz się, jak przesłać plik PDF, pobrać wszystkie osadzone obrazy, zapisać je lokalnie oraz opcjonalnie usunąć zdalny plik, wraz z pełnym kodem i przykładami REST.</p>
<h2 id="kroki-do-wyodrębniania-obrazów-z-dokumentów-pdf-w-c">Kroki do wyodrębniania obrazów z dokumentów PDF w C#</h2>
<ol>
<li><strong>Prześlij PDF do przechowalni GroupDocs Cloud</strong>: Użyj <code>StorageApi.UploadFile</code>, aby umieścić źródłowy plik PDF w chmurze.</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>To wywołanie zapewnia, że plik jest dostępny do parsowania.</p>
<ol start="2">
<li><strong>Żądanie obrazów dokumentu</strong>: Wywołaj <code>ParserApi.GetDocumentImages</code> z <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>Odpowiedź zawiera kolekcję obiektów <code>ImageInfo</code>, z których każdy przechowuje dane w formacie Base64 oraz metadane. Zobacz <a href="https://reference.groupdocs.cloud/parser/">referencję API</a> po pełne szczegóły.</p>
<ol start="3">
<li><strong>Dekoduj i zapisz każdy obraz</strong>: Przejdź przez <code>imagesResult.Images</code>, skonwertuj ciąg Base64 na tablicę bajtów i zapisz plik na dysku.</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>Konsola loguje nazwę zapisanego pliku, wymiary oraz DPI w celu weryfikacji.</p>
<ol start="4">
<li><strong>(Opcjonalnie) Usuń zdalny PDF</strong>: Po wyodrębnieniu możesz usunąć przesłany plik, aby utrzymać porządek w magazynie.</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>Ten krok jest opakowany w blok try‑catch, aby zignorować ewentualne błędy czyszczenia.</p>
<ol start="5">
<li><strong>Przejrzyj wynik</strong>: Konsola wyświetli podsumowanie, takie jak <code>Total images extracted: 12</code>, potwierdzając pomyślne wyodrębnienie.</li>
</ol>
<h2 id="pełny-przykład-kodu-wyodrębnianie-obrazów-z-dokumentów-pdf-przy-użyciu-groupdocsparser">Pełny przykład kodu: wyodrębnianie obrazów z dokumentów PDF przy użyciu GroupDocs.Parser</h2>
<p>Poniższy przykład demonstruje pełny przepływ pracy opisany powyżej. Zawiera konfigurację, przesyłanie, wyodrębnianie obrazów, zapisywanie oraz opcjonalne czyszczenie.</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>Uwaga:</strong> Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem w swoim projekcie upewnij się, że zaktualizowałeś wszystkie ścieżki plików i wartości konfiguracyjne, aby odpowiadały rzeczywistemu środowisku, sprawdź, czy wszystkie wymagane zależności są poprawnie zainstalowane, oraz dokładnie przetestuj w środowisku deweloperskim. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do <a href="https://docs.groupdocs.cloud/parser/">oficjalnej dokumentacji</a> lub skontaktuj się z <a href="https://forum.groupdocs.cloud/c/parser/19">zespołem wsparcia</a> w celu uzyskania pomocy.</p>
</blockquote>
<h2 id="pobieranie-obrazów-za-pomocą-rest-api-przy-użyciu-curl">Pobieranie obrazów za pomocą REST API przy użyciu cURL</h2>
<p>To samo działanie można wykonać za pomocą bezpośrednich wywołań REST. Poniżej znajduje się minimalny przepływ pracy cURL.</p>
<ol>
<li><strong>Uzyskaj token dostępu</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>Odpowiedź zawiera <code>access_token</code>.</p>
<ol start="2">
<li><strong>Prześlij PDF</strong> do magazynu w chmurze.</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>Żądaj obrazów</strong> dla przesłanego dokumentu.</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>Odpowiedź w formacie <a href="https://docs.fileformat.com/web/json/">JSON</a> zawiera tablicę obrazów z polami <code>base64Data</code>, <code>fileExtension</code>, <code>pageNumber</code> itp.</p>
<ol start="4">
<li><strong>Zapisz każdy obraz</strong> lokalnie (przykład użycia <code>jq</code> i <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>Aby uzyskać więcej informacji o punktach końcowych i parametrach, zobacz <a href="https://docs.groupdocs.cloud/parser/">oficjalną dokumentację API</a>.</p>
<h2 id="przygotowanie-środowiska">Przygotowanie środowiska</h2>
<ol>
<li>Zainstaluj bibliotekę kliencką .NET za pomocą 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>Pakiet jest dostępny na oficjalnej <a href="https://releases.groupdocs.cloud/parser/net/">stronie pobierania</a>.</p>
<ol start="2">
<li>
<p>Upewnij się, że masz zainstalowane .NET 6.0 lub nowszy oraz ważne konto GroupDocs Cloud z danymi uwierzytelniającymi klienta.</p>
</li>
<li>
<p>(Opcjonalnie) Sklonuj przykładowe repozytorium w celu odniesienia:</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="co-sprawia-że-groupdocsparser-jest-odpowiedni-do-wyodrębniania-obrazów">Co sprawia, że GroupDocs.Parser jest odpowiedni do wyodrębniania obrazów</h2>
<ul>
<li><strong>Bezpośrednie pobieranie obrazów</strong>: Wywołanie <code>GetDocumentImages</code> zwraca obrazy w ich oryginalnym formacie bez dodatkowych kroków konwersji.</li>
<li><strong>Dostawa w formacie Base64</strong>: Obrazy są dostarczane jako ciągi Base64, co ułatwia ich dekodowanie w dowolnym języku.</li>
<li><strong>Metadane na poziomie strony</strong>: Każdy <code>ImageInfo</code> zawiera numer strony, wymiary, rozdzielczość i indeks, co pomaga w organizacji wyodrębnionych zasobów.</li>
<li><strong>Obsługa wszystkich popularnych formatów rastrowych</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> i inne są zachowywane dokładnie tak, jak są zapisane w pliku PDF.</li>
<li><strong>Skalowalne przetwarzanie w chmurze</strong>: Duże pliki PDF są przetwarzane na serwerach GroupDocs, co zmniejsza obciążenie pamięci w Twojej aplikacji.</li>
</ul>
<h2 id="konfigurowanie-opcji-wyodrębniania-obrazów">Konfigurowanie opcji wyodrębniania obrazów</h2>
<p>Chociaż podstawowy przykład działa od razu, możesz dostroić żądanie:</p>
<ul>
<li><strong>Określ zakres stron</strong>: Dodaj <code>pages = &quot;1-5&quot;</code> do <code>GetDocumentImagesRequest</code>, aby ograniczyć ekstrakcję.</li>
<li><strong>Ustaw jakość obrazu</strong>: Użyj parametru <code>imageQuality</code> (0‑100), jeśli potrzebujesz <a href="https://docs.fileformat.com/web/compressed/">skompresowanego</a> wyjścia.</li>
<li><strong>Filtruj według formatu</strong>: Podaj <code>fileExtensions = [&quot;png&quot;,&quot;jpeg&quot;]</code>, aby otrzymać tylko wybrane formaty.</li>
</ul>
<p>Te opcje są udokumentowane w <a href="https://reference.groupdocs.cloud/parser/">referencji API</a>.</p>
<h2 id="podsumowanie">Podsumowanie</h2>
<p>Wyodrębnianie obrazów z dokumentów PDF w C# staje się prostym i niezawodnym procesem, gdy korzystasz z <a href="https://products.groupdocs.cloud/parser/net/">GroupDocs.Parser Cloud SDK for .NET</a>. SDK obsługuje przesyłanie, parsowanie i konwersję do Base64, pozwalając skupić się na zapisywaniu plików i integracji ich w przepływie pracy. Pamiętaj, aby zabezpieczyć swoje dane uwierzytelniające klienta, przestrzegać warunków licencji oraz rozważyć tymczasową licencję do oceny na <a href="https://purchase.groupdocs.cloud/temporary-license/">strona tymczasowej licencji</a>. Dzięki dostarczonemu kodowi i przykładom REST, jesteś gotowy dodać solidne wyodrębnianie obrazów PDF do dowolnej aplikacji .NET.</p>
<h2 id="najczęściej-zadawane-pytania">Najczęściej zadawane pytania</h2>
<p><strong>Jak wyodrębnić obrazy z dokumentów PDF przy użyciu C#?</strong><br>
Użyj metody <code>GetDocumentImages</code> interfejsu Parser API po przesłaniu pliku PDF za pomocą <code>StorageApi.UploadFile</code>. Zdekoduj zwrócone ciągi Base64 i zapisz je na dysku, jak pokazano w przykładzie kodu.</p>
<p><strong>Co jeśli PDF jest zabezpieczony hasłem?</strong><br>
Dołącz hasło w modelu żądania. SDK odszyfruje plik przed wyodrębnieniem obrazów. Zobacz <a href="https://docs.groupdocs.cloud/parser/">dokumentację</a> aby poznać dokładną nazwę właściwości.</p>
<p><strong>Czy mogę ograniczyć wyodrębnianie do określonych stron?</strong><br>
Tak, ustaw właściwość <code>pages</code> w <code>GetDocumentImagesRequest</code> na listę rozdzieloną przecinkami lub zakres (np. <code>&quot;1-3,5&quot;</code>). API zwróci obrazy tylko z tych stron.</p>
<p><strong>Czy istnieją limity rozmiaru dla wyodrębnionych obrazów?</strong><br>
SDK zwraca oryginalne dane obrazu bez zmiany rozmiaru. Jeśli potrzebujesz mniejszych plików, przetwórz zapisane obrazy przy użyciu dowolnej biblioteki do przetwarzania obrazów.</p>
<h2 id="read-more">Read More</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/pl/parser/extract-images-from-pdf-using-csharp/">Wyodrębnij obrazy z PDF w C# .NET | API do wyodrębniania obrazów PDF</a></li>
<li><a href="https://blog.groupdocs.cloud/pl/parser/extract-images-from-pdf-documents-in-java/">Wyodrębnij obrazy z dokumentów PDF w Javie</a></li>
<li><a href="https://blog.groupdocs.cloud/pl/parser/extract-text-from-word-document-csharp/">Wyodrębnij tekst z PDF przy użyciu .NET REST API | Konwerter dokumentu na tekst</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
