<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>pdf image extraction on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/pl/tag/pdf-image-extraction/</link>
    <description>Recent content in pdf image extraction on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>pl</language>
    <lastBuildDate>Mon, 12 Oct 2026 17:04:44 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/pl/tag/pdf-image-extraction/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>
    
    <item>
      <title>Wyodrębnianie obrazów z dokumentów PDF w języku Java</title>
      <link>https://blog-qa.groupdocs.cloud/pl/parser/extract-images-from-pdf-documents-in-java/</link>
      <pubDate>Fri, 02 Oct 2026 10:36:06 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/pl/parser/extract-images-from-pdf-documents-in-java/</guid>
      <description>Dowiedz się, jak wyodrębniać obrazy z dokumentów PDF w języku Java przy użyciu GroupDocs.Parser Cloud SDK. Poradnik obejmuje konfigurację, przykład kodu, wywołania cURL oraz najlepsze praktyki.</description>
      <content:encoded><![CDATA[<p>Wyodrębnianie obrazów z plików <a href="https://docs.fileformat.com/pdf">PDF</a> jest częstym wymogiem przy budowaniu potoków przetwarzania dokumentów, szczególnie gdy trzeba ponownie wykorzystać grafikę do miniatur, raportów lub dalszej analizy. <a href="https://products.groupdocs.cloud/parser/java/">GroupDocs.Parser Cloud SDK for Java</a> zapewnia prosty interfejs API, który pozwala pobrać każdy osadzony obraz z PDF przy użyciu kilku linii kodu. Ten przewodnik prowadzi Cię przez konfigurację SDK, uruchomienie pełnego przykładu kodu, użycie cURL do tego samego zadania oraz zastosowanie najlepszych praktyk, aby zapewnić niezawodne wyodrębnianie obrazów z PDF.</p>
<h2 id="wyodrębnij-obrazy-z-dokumentów-pdf-w-javie-w-5-krokach">Wyodrębnij obrazy z dokumentów PDF w Javie w 5 krokach</h2>
<ol>
<li><strong>Skonfiguruj poświadczenia API</strong>: Utwórz obiekt <code>Configuration</code> i ustaw swój identyfikator klienta oraz sekret.</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>Configuration config <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Configuration<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>config<span style="color:#f92672">.</span><span style="color:#a6e22e">setClientId</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>config<span style="color:#f92672">.</span><span style="color:#a6e22e">setClientSecret</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><ol start="2">
<li><strong>Zainicjalizuj API Parsera</strong>: Utwórz <code>ApiClient</code> z konfiguracją i zainstancjuj <code>ParserApi</code>.</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>ApiClient apiClient <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ApiClient<span style="color:#f92672">(</span>config<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>ParserApi parserApi <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ParserApi<span style="color:#f92672">(</span>apiClient<span style="color:#f92672">);</span>
</span></span></code></pre></div><ol start="3">
<li>
<p><strong>Zbuduj żądanie wyodrębniania obrazów</strong>: Określ ścieżkę pliku PDF przy użyciu <code>FileInfo</code> i utwórz <code>ExtractImagesRequest</code>.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>String inputFilePath <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;input.pdf&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>ExtractImagesRequest request <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ExtractImagesRequest<span style="color:#f92672">()</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">.</span><span style="color:#a6e22e">setFileInfo</span><span style="color:#f92672">(</span><span style="color:#66d9ef">new</span> FileInfo<span style="color:#f92672">().</span><span style="color:#a6e22e">setFilePath</span><span style="color:#f92672">(</span>inputFilePath<span style="color:#f92672">));</span>
</span></span></code></pre></div></li>
<li>
<p><strong>Wykonaj ekstrakcję i pobierz obrazy</strong>: Wywołaj <code>extractImages</code> i uzyskaj listę obiektów <code>Image</code>.</p>
</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>ImagesResult imagesResult <span style="color:#f92672">=</span> parserApi<span style="color:#f92672">.</span><span style="color:#a6e22e">extractImages</span><span style="color:#f92672">(</span>request<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>List<span style="color:#f92672">&lt;</span>Image<span style="color:#f92672">&gt;</span> images <span style="color:#f92672">=</span> imagesResult<span style="color:#f92672">.</span><span style="color:#a6e22e">getImages</span><span style="color:#f92672">();</span>
</span></span></code></pre></div><ol start="5">
<li><strong>Zapisz każdy obraz w lokalnym magazynie</strong>: Iteruj po kolekcji i zapisz dane binarne do plików.</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#66d9ef">for</span> <span style="color:#f92672">(</span><span style="color:#66d9ef">int</span> i <span style="color:#f92672">=</span> 0<span style="color:#f92672">;</span> i <span style="color:#f92672">&lt;</span> images<span style="color:#f92672">.</span><span style="color:#a6e22e">size</span><span style="color:#f92672">();</span> i<span style="color:#f92672">++)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    Image img <span style="color:#f92672">=</span> images<span style="color:#f92672">.</span><span style="color:#a6e22e">get</span><span style="color:#f92672">(</span>i<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>    String outputFileName <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;extracted_image_&#34;</span> <span style="color:#f92672">+</span> <span style="color:#f92672">(</span>i <span style="color:#f92672">+</span> 1<span style="color:#f92672">)</span> <span style="color:#f92672">+</span> <span style="color:#e6db74">&#34;_&#34;</span> <span style="color:#f92672">+</span> img<span style="color:#f92672">.</span><span style="color:#a6e22e">getFileName</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">try</span> <span style="color:#f92672">(</span>FileOutputStream fos <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> FileOutputStream<span style="color:#f92672">(</span>outputFileName<span style="color:#f92672">))</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>        fos<span style="color:#f92672">.</span><span style="color:#a6e22e">write</span><span style="color:#f92672">(</span>img<span style="color:#f92672">.</span><span style="color:#a6e22e">getData</span><span style="color:#f92672">());</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>    System<span style="color:#f92672">.</span><span style="color:#a6e22e">out</span><span style="color:#f92672">.</span><span style="color:#a6e22e">println</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Saved image: &#34;</span> <span style="color:#f92672">+</span> outputFileName<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">}</span>
</span></span></code></pre></div><p>Aby uzyskać więcej informacji o każdej klasie, odwołaj się do <a href="https://reference.groupdocs.cloud/parser/">oficjalnej dokumentacji API</a>.</p>
<h2 id="pełny-przykład-kodu-wyodrębnianie-obrazów-z-dokumentów-pdf-w-języku-java-przy-użyciu-groupdocsparser">Pełny przykład kodu: wyodrębnianie obrazów z dokumentów PDF w języku Java przy użyciu GroupDocs.Parser</h2>
<p>Poniższy przykład demonstruje pełny przepływ pracy od konfiguracji poświadczeń do zapisywania obrazu.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.parser.cloud.ApiClient<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.parser.cloud.Configuration<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.parser.cloud.api.ParserApi<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.parser.cloud.model.FileInfo<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.parser.cloud.model.Image<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.parser.cloud.model.ImagesResult<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.parser.cloud.model.requests.ExtractImagesRequest<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> java.io.FileOutputStream<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> java.util.List<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">public</span> <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">ExtractImagesFromPdf</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">public</span> <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> <span style="color:#a6e22e">main</span><span style="color:#f92672">(</span>String<span style="color:#f92672">[]</span> args<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// Configure API credentials
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        Configuration config <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Configuration<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>        config<span style="color:#f92672">.</span><span style="color:#a6e22e">setClientId</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        config<span style="color:#f92672">.</span><span style="color:#a6e22e">setClientSecret</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// config.setBaseUrl(&#34;https://api.groupdocs.cloud&#34;); // optional, if needed
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Initialize API client and Parser API
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        ApiClient apiClient <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ApiClient<span style="color:#f92672">(</span>config<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        ParserApi parserApi <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ParserApi<span style="color:#f92672">(</span>apiClient<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Path to the PDF file stored in GroupDocs Cloud storage
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        String inputFilePath <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;input.pdf&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Build request for image extraction
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        ExtractImagesRequest request <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ExtractImagesRequest<span style="color:#f92672">()</span>
</span></span><span style="display:flex;"><span>                <span style="color:#f92672">.</span><span style="color:#a6e22e">setFileInfo</span><span style="color:#f92672">(</span><span style="color:#66d9ef">new</span> FileInfo<span style="color:#f92672">().</span><span style="color:#a6e22e">setFilePath</span><span style="color:#f92672">(</span>inputFilePath<span style="color:#f92672">));</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">try</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Perform extraction
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            ImagesResult imagesResult <span style="color:#f92672">=</span> parserApi<span style="color:#f92672">.</span><span style="color:#a6e22e">extractImages</span><span style="color:#f92672">(</span>request<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            List<span style="color:#f92672">&lt;</span>Image<span style="color:#f92672">&gt;</span> images <span style="color:#f92672">=</span> imagesResult<span style="color:#f92672">.</span><span style="color:#a6e22e">getImages</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Save each extracted image to local disk
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            <span style="color:#66d9ef">for</span> <span style="color:#f92672">(</span><span style="color:#66d9ef">int</span> i <span style="color:#f92672">=</span> 0<span style="color:#f92672">;</span> i <span style="color:#f92672">&lt;</span> images<span style="color:#f92672">.</span><span style="color:#a6e22e">size</span><span style="color:#f92672">();</span> i<span style="color:#f92672">++)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>                Image img <span style="color:#f92672">=</span> images<span style="color:#f92672">.</span><span style="color:#a6e22e">get</span><span style="color:#f92672">(</span>i<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>                String outputFileName <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;extracted_image_&#34;</span> <span style="color:#f92672">+</span> <span style="color:#f92672">(</span>i <span style="color:#f92672">+</span> 1<span style="color:#f92672">)</span> <span style="color:#f92672">+</span> <span style="color:#e6db74">&#34;_&#34;</span> <span style="color:#f92672">+</span> img<span style="color:#f92672">.</span><span style="color:#a6e22e">getFileName</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">try</span> <span style="color:#f92672">(</span>FileOutputStream fos <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> FileOutputStream<span style="color:#f92672">(</span>outputFileName<span style="color:#f92672">))</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>                    fos<span style="color:#f92672">.</span><span style="color:#a6e22e">write</span><span style="color:#f92672">(</span>img<span style="color:#f92672">.</span><span style="color:#a6e22e">getData</span><span style="color:#f92672">());</span>
</span></span><span style="display:flex;"><span>                <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>                System<span style="color:#f92672">.</span><span style="color:#a6e22e">out</span><span style="color:#f92672">.</span><span style="color:#a6e22e">println</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Saved image: &#34;</span> <span style="color:#f92672">+</span> outputFileName<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span> <span style="color:#66d9ef">catch</span> <span style="color:#f92672">(</span>Exception e<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            e<span style="color:#f92672">.</span><span style="color:#a6e22e">printStackTrace</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">}</span>
</span></span></code></pre></div><blockquote>
<p><strong>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, zweryfikuj, że wszystkie wymagane zależności są prawidłowo zainstalowane, i dokładnie przetestuj w swoim środowisku deweloperskim. Jeśli napotkasz jakiekolwiek problemy, zapoznaj się z <a href="https://docs.groupdocs.cloud/parser/">oficjalną dokumentacją</a> lub skontaktuj się z <a href="https://forum.groupdocs.cloud/c/parser/19">zespołem wsparcia</a>, aby uzyskać pomoc.</p>
</blockquote>
<h2 id="wyodrębnianie-obrazów-z-pdf-przy-użyciu-curl-i-rest-api">Wyodrębnianie obrazów z PDF przy użyciu cURL i REST API</h2>
<p>Możesz uzyskać ten sam wynik bez pisania kodu w języku Java, wywołując bezpośrednio endpointy REST usługi GroupDocs.Parser Cloud.</p>
<ol>
<li><strong>Uzyskaj token dostępu</strong></li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/connect/token&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>        -H <span style="color:#e6db74">&#34;Content-Type: application/x-www-form-urlencoded&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>        -d <span style="color:#e6db74">&#34;grant_type=client_credentials&amp;client_id=YOUR_CLIENT_ID&amp;client_secret=YOUR_CLIENT_SECRET&#34;</span>
</span></span></code></pre></div><ol start="2">
<li><strong>Prześlij plik PDF</strong></li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/file/upload?path=input.pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>        -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>        -F <span style="color:#e6db74">&#34;file=@/path/to/input.pdf&#34;</span>
</span></span></code></pre></div><ol start="3">
<li><strong>Żądanie wyodrębniania obrazów</strong></li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/parser/extractImages&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{&#34;fileInfo&#34;: {&#34;filePath&#34;: &#34;input.pdf&#34;}}&#39;</span>
</span></span></code></pre></div><ol start="4">
<li><strong>Pobierz wyodrębnione obrazy</strong> (odpowiedź zawiera dane w formacie base64; możesz je zdekodować lokalnie)</li>
</ol>
<p>Aby uzyskać pełną listę parametrów, zobacz <a href="https://reference.groupdocs.cloud/parser/">oficjalną dokumentację API</a>.</p>
<h2 id="instalowanie-i-konfigurowanie-groupdocsparser-cloud-sdk-for-java">Instalowanie i konfigurowanie GroupDocs.Parser Cloud SDK for Java</h2>
<p>Dodaj zależność Maven do swojego <code>pom.xml</code> (lub równoważny fragment Gradle).</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span><span style="color:#f92672">&lt;dependency&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;groupId&gt;</span>com.groupdocs<span style="color:#f92672">&lt;/groupId&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;artifactId&gt;</span>groupdocs-parser-cloud<span style="color:#f92672">&lt;/artifactId&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;version&gt;</span>26.2<span style="color:#f92672">&lt;/version&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;/dependency&gt;</span>
</span></span></code></pre></div><p>SDK jest dostarczany jako biblioteka w chmurze; nie są wymagane lokalne pliki binarne. Pobierz najnowszy pakiet ze <a href="https://releases.groupdocs.cloud/parser/java/">strony wydania</a>. Upewnij się, że masz Java 8 lub wyższą oraz ważne konto GroupDocs Cloud z identyfikatorem klienta i sekretem.</p>
<h2 id="groupdocsparser-cloud-sdk-for-java-funkcje-umożliwiające-pobieranie-obrazów">GroupDocs.Parser Cloud SDK for Java Funkcje umożliwiające pobieranie obrazów</h2>
<ul>
<li><strong>Pełne wyodrębnianie obrazów PDF</strong> - Pobiera każdy rastrowy i wektorowy obraz osadzony w dokumencie.</li>
<li><strong>Metadane dla każdego obrazu</strong> - Zwraca nazwę pliku, rozmiar, format i numer strony.</li>
<li><strong>Obsługa wszystkich popularnych formatów obrazów</strong> - <a href="https://docs.fileformat.com/image/png/">PNG</a>, <a href="https://docs.fileformat.com/image/jpg/">JPG</a>, <a href="https://docs.fileformat.com/image/bmp/">BMP</a>, <a href="https://docs.fileformat.com/image/gif/">GIF</a>, <a href="https://docs.fileformat.com/image/tiff/">TIFF</a>, i więcej.</li>
<li><strong>Integracja z przechowywaniem w chmurze</strong> - Działa bezpośrednio na plikach przechowywanych w GroupDocs Cloud bez ich pobierania.</li>
<li><strong>Skalowalne przetwarzanie oparte na REST‑based</strong> - Obsługuje duże pliki PDF i obciążenia o wysokim wolumenie za pośrednictwem API chmury.</li>
</ul>
<h2 id="dostrajanie-ustawień-wyodrębniania-obrazów">Dostrajanie ustawień wyodrębniania obrazów</h2>
<p>Choć podstawowe żądanie działa od razu, możesz dostosować opcje, takie jak:</p>
<ul>
<li><strong>Ochrona hasłem</strong> - Ustaw właściwość <code>password</code> w <code>FileInfo</code> dla zaszyfrowanych plików PDF.</li>
<li><strong>Zakres stron</strong> - Ogranicz wyodrębnianie do konkretnych stron, dodając tablicę <code>pages</code> do JSON‑a żądania.</li>
<li><strong>Konwersja formatu obrazu</strong> - Żądaj konwersji do innego formatu, określając żądany typ wyjściowy w żądaniu (zobacz <a href="https://reference.groupdocs.cloud/parser/">API reference</a> po dokładne pola).</li>
</ul>
<p>Przykład ustawiania hasła (wyciąg z głównego kodu):</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>FileInfo fileInfo <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> FileInfo<span style="color:#f92672">()</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">.</span><span style="color:#a6e22e">setFilePath</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;protected.pdf&#34;</span><span style="color:#f92672">)</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">.</span><span style="color:#a6e22e">setPassword</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;mySecret&#34;</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><h2 id="praktyczne-wskazówki-dotyczące-wydajnego-wyodrębniania-obrazów-z-pdf">Praktyczne wskazówki dotyczące wydajnego wyodrębniania obrazów z PDF</h2>
<ul>
<li><strong>Sprawdź istnienie pliku</strong> przed wysłaniem żądania, aby uniknąć niepotrzebnych wywołań API.</li>
<li><strong>Przetwarzaj obrazy w strumieniach</strong> przy pracy z dużymi plikami, aby zmniejszyć zużycie pamięci.</li>
<li><strong>Używaj paginacji</strong>, jeśli potrzebujesz obrazów tylko z określonych stron; przyspiesza to odpowiedź.</li>
<li><strong>Obsługuj limity szybkości API</strong> poprzez implementację wykładniczego opóźnienia przy odpowiedziach HTTP 429.</li>
<li><strong>Loguj nazwę każdego zapisanego pliku</strong>, aby uprościć rozwiązywanie problemów i śledzenie audytu.</li>
</ul>
<h2 id="podsumowanie">Podsumowanie</h2>
<p>Wyodrębnianie obrazów z dokumentów PDF w Javie staje się prostym i niezawodnym zadaniem, gdy wykorzystujesz moc <a href="https://products.groupdocs.cloud/parser/java/">GroupDocs.Parser Cloud SDK for Java</a>. SDK obsługuje zarządzanie poświadczeniami, interakcję z przechowywaniem w chmurze oraz dekodowanie obrazów, pozwalając Ci skupić się na logice aplikacji. Dla wdrożeń produkcyjnych zakup odpowiednią licencję na <a href="https://purchase.groupdocs.cloud/temporary-license/">stronie cenowej</a> lub uzyskaj tymczasową licencję do oceny. Dzięki przykładowemu kodowi, przewodnikowi cURL i zaleceniom najlepszych praktyk w tym artykule, jesteś gotowy zintegrować wyodrębnianie obrazów PDF z dowolnym rozwiązaniem opartym na Javie.</p>
<h2 id="najczęściej-zadawane-pytania">Najczęściej zadawane pytania</h2>
<ul>
<li>
<p><strong>Jakie formaty można wyodrębnić z pliku PDF?</strong><br>
SDK wyodrębnia formaty rastrowe, takie jak PNG, JPG, BMP, GIF i TIFF, a także grafikę wektorową, gdy jest przechowywana jako obrazy.</p>
</li>
<li>
<p><strong>Czy muszę pobrać plik PDF przed wyodrębnieniem obrazów?</strong><br>
Nie. SDK działa bezpośrednio na plikach przechowywanych w GroupDocs Cloud, eliminując konieczność pobierania ich lokalnie.</p>
</li>
<li>
<p><strong>Jak SDK radzi sobie z dużymi plikami PDF?</strong><br>
Ekstrakcja jest wykonywana po stronie serwera, więc zużycie pamięci na Twoim komputerze pozostaje niskie. Możesz także ograniczyć ekstrakcję do określonych stron, aby poprawić wydajność.</p>
</li>
<li>
<p><strong>Czy istnieje sposób przetestowania ekstrakcji bez pisania kodu?</strong><br>
Tak, możesz użyć poleceń cURL podanych powyżej lub wypróbować interaktywną konsolę API na stronie produktu.</p>
</li>
</ul>
<h2 id="czytaj-więcej">Czytaj więcej</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/pl/parser/extract-images-from-pdf-files-in-java-using-rest-api/">Wyodrębnij obrazy z plików PDF w Javie przy użyciu REST API</a></li>
<li><a href="https://blog.groupdocs.cloud/pl/parser/extract-images-from-word-documents-programmatically-in-java/">Wyodrębnij obrazy z dokumentów Word programowo w Javie</a></li>
<li><a href="https://blog.groupdocs.cloud/pl/parser/extract-images-from-pdf-documents-using-python/">Wyodrębnij obrazy z dokumentów PDF przy użyciu Pythona</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
