<?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/es/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>es</language>
    <lastBuildDate>Mon, 12 Oct 2026 17:04:44 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/es/tag/pdf-image-extraction/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Extraer imágenes de documentos PDF en C#</title>
      <link>https://blog-qa.groupdocs.cloud/es/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/es/parser/extract-images-from-pdf-documents-in-csharp/</guid>
      <description>Aprenda cómo extraer imágenes de documentos PDF en C# usando GroupDocs.Parser Cloud SDK for .NET. Siga esta guía paso a paso con código, cURL y consejos.</description>
      <content:encoded><![CDATA[<p>Extraer imágenes de documentos <a href="https://docs.fileformat.com/pdf">PDF</a> es un requisito frecuente al crear canalizaciones de procesamiento de documentos, especialmente para generar miniaturas o reutilizar gráficos en otro lugar. <a href="https://products.groupdocs.cloud/parser/net/">GroupDocs.Parser Cloud SDK for .NET</a> proporciona una API potente que hace que esta tarea sea sencilla en C#. En esta guía aprenderá cómo cargar un PDF, recuperar todas las imágenes incrustadas, guardarlas localmente y, opcionalmente, limpiar el archivo remoto, con código completo y ejemplos REST.</p>
<h2 id="pasos-para-extraer-imágenes-de-documentos-pdf-en-c">Pasos para extraer imágenes de documentos PDF en C#</h2>
<ol>
<li><strong>Cargar PDF al almacenamiento de GroupDocs Cloud</strong>: Utilice <code>StorageApi.UploadFile</code> para colocar el PDF de origen en la nube.</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>Esta llamada asegura que el archivo esté accesible para el análisis.</p>
<ol start="2">
<li><strong>Solicitar imágenes del documento</strong>: Call <code>ParserApi.GetDocumentImages</code> with a <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>La respuesta contiene una colección de objetos <code>ImageInfo</code>, cada uno con datos Base64 y metadatos. Consulte la <a href="https://reference.groupdocs.cloud/parser/">referencia de API</a> para obtener todos los detalles.</p>
<ol start="3">
<li><strong>Decodificar y guardar cada imagen</strong>: Itera a través de <code>imagesResult.Images</code>, convierte la cadena Base64 a un arreglo de bytes y escribe el archivo en el disco.</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>La consola registra el nombre del archivo guardado, sus dimensiones y DPI para verificación.</p>
<ol start="4">
<li><strong>(Opcional) Limpiar PDF remoto</strong>: Después de la extracción, puede eliminar el archivo subido para mantener el almacenamiento ordenado.</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>Este paso está envuelto en un bloque try‑catch para ignorar cualquier error de limpieza.</p>
<ol start="5">
<li><strong>Revisar salida</strong>: La consola mostrará un resumen como <code>Total images extracted: 12</code>, confirmando la extracción exitosa.</li>
</ol>
<h2 id="ejemplo-completo-de-código-extraer-imágenes-de-documentos-pdf-con-groupdocsparser">Ejemplo completo de código: extraer imágenes de documentos PDF con GroupDocs.Parser</h2>
<p>El siguiente ejemplo demuestra el flujo de trabajo completo descrito anteriormente. Incluye configuración, carga, extracción de imágenes, guardado y limpieza opcional.</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>Nota:</strong> Este ejemplo de código demuestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar cualquier ruta de archivo y valores de configuración para que coincidan con su entorno real, verifique que todas las dependencias requeridas estén instaladas correctamente y pruebe exhaustivamente en su entorno de desarrollo. Si encuentra algún problema, consulte la <a href="https://docs.groupdocs.cloud/parser/">documentación oficial</a> o póngase en contacto con el <a href="https://forum.groupdocs.cloud/c/parser/19">equipo de soporte</a> para obtener ayuda.</p>
</blockquote>
<h2 id="extraer-imágenes-mediante-la-api-rest-usando-curl">Extraer imágenes mediante la API REST usando cURL</h2>
<p>La misma operación se puede realizar con llamadas REST directas. A continuación se muestra un flujo de trabajo cURL mínimo.</p>
<ol>
<li><strong>Obtener un token de acceso</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>La respuesta contiene <code>access_token</code>.</p>
<ol start="2">
<li><strong>Subir el PDF</strong> al almacenamiento en la nube.</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>Solicitar imágenes</strong> para el documento cargado.</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>La respuesta <a href="https://docs.fileformat.com/web/json/">JSON</a> incluye una matriz de imágenes con <code>base64Data</code>, <code>fileExtension</code>, <code>pageNumber</code>, etc.</p>
<ol start="4">
<li><strong>Guardar cada imagen</strong> localmente (ejemplo usando <code>jq</code> y <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>Para obtener más detalles sobre los puntos finales y los parámetros, consulte la <a href="https://docs.groupdocs.cloud/parser/">documentación oficial de la API</a>.</p>
<h2 id="preparando-el-entorno">Preparando el Entorno</h2>
<ol>
<li>Instale la biblioteca cliente .NET a través de 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>El paquete está disponible en la <a href="https://releases.groupdocs.cloud/parser/net/">página de descarga</a>.</p>
<ol start="2">
<li>
<p>Asegúrese de tener .NET 6.0 o una versión posterior instalado y una cuenta válida de GroupDocs Cloud con credenciales de cliente.</p>
</li>
<li>
<p>(Opcional) Clona el repositorio de ejemplo para referencia:</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="qué-hace-que-groupdocsparser-sea-adecuado-para-la-extracción-de-imágenes">Qué hace que GroupDocs.Parser sea adecuado para la extracción de imágenes</h2>
<ul>
<li><strong>Recuperación directa de imágenes</strong>: La llamada <code>GetDocumentImages</code> devuelve imágenes en su formato original sin pasos de conversión adicionales.</li>
<li><strong>Entrega en Base64</strong>: Las imágenes se proporcionan como cadenas Base64, lo que facilita su decodificación en cualquier lenguaje.</li>
<li><strong>Metadatos a nivel de página</strong>: Cada <code>ImageInfo</code> incluye número de página, dimensiones, resolución e índice, lo que ayuda a organizar los recursos extraídos.</li>
<li><strong>Compatibilidad con todos los formatos raster comunes</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> y más se conservan exactamente como se almacenan en el PDF.</li>
<li><strong>Procesamiento en la nube escalable</strong>: Los PDFs grandes se manejan en los servidores de GroupDocs, reduciendo la presión de memoria en su aplicación.</li>
</ul>
<h2 id="configuración-de-opciones-de-extracción-de-imágenes">Configuración de opciones de extracción de imágenes</h2>
<p>Aunque el ejemplo básico funciona sin necesidad de configuración, puedes afinar la solicitud:</p>
<ul>
<li><strong>Especificar rango de páginas</strong>: Añade <code>pages = &quot;1-5&quot;</code> a <code>GetDocumentImagesRequest</code> para limitar la extracción.</li>
<li><strong>Establecer calidad de imagen</strong>: Usa el parámetro <code>imageQuality</code> (0‑100) si necesitas una salida <a href="https://docs.fileformat.com/web/compressed/">comprimida</a>.</li>
<li><strong>Filtrar por formato</strong>: Proporciona <code>fileExtensions = [&quot;png&quot;,&quot;jpeg&quot;]</code> para recibir solo los formatos seleccionados.</li>
</ul>
<p>Estas opciones están documentadas en la <a href="https://reference.groupdocs.cloud/parser/">referencia de API</a>.</p>
<h2 id="conclusión">Conclusión</h2>
<p>Extraer imágenes de documentos PDF en C# se vuelve un proceso simple y fiable cuando utilizas el <a href="https://products.groupdocs.cloud/parser/net/">GroupDocs.Parser Cloud SDK for .NET</a>. El SDK maneja la carga, el análisis y la conversión a Base64, permitiéndote centrarte en guardar los archivos e integrarlos en tu flujo de trabajo. Recuerda asegurar tus credenciales de cliente, respetar los términos de licencia y considerar una licencia temporal para evaluación en la <a href="https://purchase.groupdocs.cloud/temporary-license/">página de licencia temporal</a>. Con el código y los ejemplos REST proporcionados, estás listo para añadir una extracción robusta de imágenes PDF a cualquier aplicación .NET.</p>
<h2 id="preguntas-frecuentes">Preguntas frecuentes</h2>
<p><strong>¿Cómo extraer imágenes de documentos PDF usando C#?</strong><br>
Utilice el método <code>GetDocumentImages</code> de la API Parser después de cargar el PDF con <code>StorageApi.UploadFile</code>. Decodifique las cadenas Base64 devueltas y escríbalas en el disco, como se muestra en el ejemplo de código.</p>
<p><strong>¿Qué pasa si el PDF está protegido con contraseña?</strong><br>
Incluya la contraseña en el modelo de solicitud. El SDK descifrará el archivo antes de extraer las imágenes. Consulte la <a href="https://docs.groupdocs.cloud/parser/">documentación</a> para el nombre exacto de la propiedad.</p>
<p><strong>¿Puedo limitar la extracción a páginas específicas?</strong><br>
Sí, establezca la propiedad <code>pages</code> en <code>GetDocumentImagesRequest</code> a una lista separada por comas o un rango (p. ej., <code>&quot;1-3,5&quot;</code>). La API devolverá imágenes solo de esas páginas.</p>
<p><strong>¿Hay algún límite de tamaño para las imágenes extraídas?</strong><br>
El SDK devuelve los datos de la imagen original sin redimensionar. Si necesita archivos más pequeños, procese las imágenes guardadas usando cualquier biblioteca de procesamiento de imágenes.</p>
<h2 id="read-more">Read More</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/es/parser/extract-images-from-pdf-using-csharp/">Extraer imágenes de PDF en C# .NET | API de extracción de imágenes PDF</a></li>
<li><a href="https://blog.groupdocs.cloud/es/parser/extract-images-from-pdf-documents-in-java/">Extraer imágenes de documentos PDF en Java</a></li>
<li><a href="https://blog.groupdocs.cloud/es/parser/extract-text-from-word-document-csharp/">Extraer texto de PDF usando la API REST .NET | Convertidor de documento a texto</a></li>
</ul>
]]></content:encoded>
    </item>
    
    <item>
      <title>Extraer imágenes de documentos PDF en Java</title>
      <link>https://blog-qa.groupdocs.cloud/es/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/es/parser/extract-images-from-pdf-documents-in-java/</guid>
      <description>Aprenda cómo extraer imágenes de documentos PDF en Java usando GroupDocs.Parser Cloud SDK. La guía cubre la configuración, el ejemplo de código, las llamadas cURL y las mejores prácticas.</description>
      <content:encoded><![CDATA[<p>Extraer imágenes de archivos <a href="https://docs.fileformat.com/pdf">PDF</a> es un requisito frecuente al construir canalizaciones de procesamiento de documentos, especialmente cuando necesitas reutilizar gráficos para miniaturas, informes o análisis adicionales. <a href="https://products.groupdocs.cloud/parser/java/">GroupDocs.Parser Cloud SDK for Java</a> ofrece una API sencilla que te permite obtener cada imagen incrustada de un PDF con solo unas pocas líneas de código. Esta guía te lleva a través de la configuración del SDK, la ejecución de un ejemplo de código completo, el uso de cURL para la misma tarea y la aplicación de buenas prácticas para garantizar una extracción fiable de imágenes de PDF.</p>
<h2 id="extraer-imágenes-de-documentos-pdf-en-java-en-5-pasos">Extraer imágenes de documentos PDF en Java en 5 pasos</h2>
<ol>
<li><strong>Configurar credenciales de API</strong>: Cree un objeto <code>Configuration</code> y establezca su client ID y secret.</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>Inicializar la API del Parser</strong>: Construya un <code>ApiClient</code> con la configuración e instancie <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>Construya la solicitud de extracción de imágenes</strong>: Especifique la ruta del archivo PDF usando <code>FileInfo</code> y cree un <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>Ejecutar la extracción y recuperar imágenes</strong>: Llame a <code>extractImages</code> y obtenga la lista de objetos <code>Image</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>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></li>
<li>
<p><strong>Guardar cada imagen en el almacenamiento local</strong>: Recorrer la colección y escribir los datos binarios en archivos.</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><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>Para obtener más detalles sobre cada clase, consulte la <a href="https://reference.groupdocs.cloud/parser/">referencia oficial de la API</a>.</p>
<h2 id="ejemplo-completo-de-código-extraer-imágenes-de-documentos-pdf-en-java-usando-groupdocsparser">Ejemplo completo de código: Extraer imágenes de documentos PDF en Java usando GroupDocs.Parser</h2>
<p>El siguiente ejemplo demuestra el flujo de trabajo completo desde la configuración de credenciales hasta el guardado de la imagen.</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>Nota:</strong> Este ejemplo de código demuestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar cualquier ruta de archivo y valores de configuración para que coincidan con su entorno real, verifique que todas las dependencias requeridas estén correctamente instaladas y pruebe exhaustivamente en su entorno de desarrollo. Si encuentra algún problema, consulte la <a href="https://docs.groupdocs.cloud/parser/">documentación oficial</a> o póngase en contacto con el <a href="https://forum.groupdocs.cloud/c/parser/19">equipo de soporte</a> para obtener ayuda.</p>
</blockquote>
<h2 id="extracción-de-imágenes-pdf-mediante-curl-y-la-api-rest">Extracción de imágenes PDF mediante cURL y la API REST</h2>
<p>Puedes lograr el mismo resultado sin escribir código Java llamando directamente a los endpoints REST de GroupDocs.Parser Cloud.</p>
<ol>
<li><strong>Obtener un token de acceso</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>Cargar el archivo 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>Solicitar extracción de imágenes</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>Descargar imágenes extraídas</strong> (la respuesta contiene datos base64; puedes decodificarlos localmente)</li>
</ol>
<p>Para obtener una lista completa de los parámetros, consulte la <a href="https://reference.groupdocs.cloud/parser/">documentación oficial de la API</a>.</p>
<h2 id="instalación-y-configuración-del-sdk-de-groupdocsparser-cloud-para-java">Instalación y configuración del SDK de GroupDocs.Parser Cloud para Java</h2>
<p>Agregue la dependencia de Maven a su <code>pom.xml</code> (o el fragmento equivalente de 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>El SDK se entrega como una biblioteca en la nube; no se requieren binarios locales. Descargue el paquete más reciente desde la <a href="https://releases.groupdocs.cloud/parser/java/">página de lanzamiento</a>. Asegúrese de tener Java 8 o superior y una cuenta válida de GroupDocs Cloud con ID de cliente y secreto.</p>
<h2 id="groupdocsparser-cloud-sdk-for-java-características-que-permiten-la-recuperación-de-imágenes">GroupDocs.Parser Cloud SDK for Java Características que permiten la recuperación de imágenes</h2>
<ul>
<li><strong>Extracción completa de imágenes PDF</strong> - Recupera cada imagen raster y vectorial incrustada en el documento.</li>
<li><strong>Metadatos de cada imagen</strong> - Devuelve el nombre de archivo, tamaño, formato y número de página.</li>
<li><strong>Compatibilidad con todos los formatos de imagen comunes</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>, y más.</li>
<li><strong>Integración con almacenamiento en la nube</strong> - Funciona directamente con archivos almacenados en GroupDocs Cloud sin descargarlos primero.</li>
<li><strong>Procesamiento escalable basado en REST‑based</strong> - Maneja PDFs grandes y cargas de trabajo de alto volumen a través de la API en la nube.</li>
</ul>
<h2 id="ajuste-fino-de-la-configuración-de-extracción-de-imágenes">Ajuste fino de la configuración de extracción de imágenes</h2>
<p>Mientras la solicitud básica funciona sin necesidad de configuración adicional, puedes ajustar opciones como:</p>
<ul>
<li><strong>Protección con contraseña</strong> - Establezca la propiedad <code>password</code> en <code>FileInfo</code> para PDFs cifrados.</li>
<li><strong>Rango de páginas</strong> - Limite la extracción a páginas específicas añadiendo una matriz <code>pages</code> al JSON de la solicitud.</li>
<li><strong>Conversión de formato de imagen</strong> - Solicite la conversión a un formato diferente especificando el tipo de salida deseado en la solicitud (consulte la <a href="https://reference.groupdocs.cloud/parser/">referencia de API</a> para los campos exactos).</li>
</ul>
<p>Ejemplo de establecer una contraseña (extraído del código principal):</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="consejos-prácticos-para-la-extracción-eficiente-de-imágenes-pdf">Consejos prácticos para la extracción eficiente de imágenes PDF</h2>
<ul>
<li><strong>Validar la existencia del archivo</strong> antes de enviar la solicitud para evitar llamadas API innecesarias.</li>
<li><strong>Procesar imágenes en streams</strong> al trabajar con archivos grandes para reducir el consumo de memoria.</li>
<li><strong>Utilizar paginación</strong> si solo necesita imágenes de ciertas páginas; esto acelera la respuesta.</li>
<li><strong>Manejar los límites de velocidad de la API</strong> implementando retroceso exponencial en respuestas HTTP 429.</li>
<li><strong>Registrar el nombre de cada archivo guardado</strong> para simplificar la solución de problemas y los registros de auditoría.</li>
</ul>
<h2 id="conclusión">Conclusión</h2>
<p>Extraer imágenes de documentos PDF en Java se convierte en una tarea simple y confiable cuando aprovechas el poder del <a href="https://products.groupdocs.cloud/parser/java/">GroupDocs.Parser Cloud SDK for Java</a>. El SDK gestiona la administración de credenciales, la interacción con el almacenamiento en la nube y la decodificación de imágenes, permitiéndote centrarte en la lógica de tu aplicación. Para implementaciones en producción, adquiere una licencia adecuada en la <a href="https://purchase.groupdocs.cloud/temporary-license/">página de precios</a> o obtén una licencia temporal para evaluación. Con el ejemplo de código, la guía cURL y las recomendaciones de best‑practice en este artículo, estás listo para integrar la extracción de imágenes PDF en cualquier solución basada en Java.</p>
<h2 id="preguntas-frecuentes">Preguntas frecuentes</h2>
<ul>
<li>
<p><strong>¿Qué formatos se pueden extraer de un PDF?</strong><br>
El SDK extrae formatos raster como PNG, JPG, BMP, GIF y TIFF, así como gráficos vectoriales cuando se almacenan como imágenes.</p>
</li>
<li>
<p><strong>¿Necesito descargar el PDF antes de extraer imágenes?</strong><br>
No. El SDK funciona directamente con los archivos almacenados en el almacenamiento de GroupDocs Cloud, eliminando la necesidad de descargas locales.</p>
</li>
<li>
<p><strong>¿Cómo maneja el SDK los PDFs grandes?</strong><br>
La extracción se realiza en el lado del servidor, por lo que el uso de memoria en su máquina se mantiene bajo. También puede limitar la extracción a páginas específicas para mejorar el rendimiento.</p>
</li>
<li>
<p><strong>¿Hay alguna manera de probar la extracción sin escribir código?</strong><br>
Sí, puedes usar los comandos cURL proporcionados arriba o probar la consola interactiva de la API en la página del producto.</p>
</li>
</ul>
<h2 id="leer-más">Leer más</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/es/parser/extract-images-from-pdf-files-in-java-using-rest-api/">Extraer imágenes de archivos PDF en Java usando la API REST</a></li>
<li><a href="https://blog.groupdocs.cloud/es/parser/extract-images-from-word-documents-programmatically-in-java/">Extraer imágenes de documentos Word programáticamente en Java</a></li>
<li><a href="https://blog.groupdocs.cloud/es/parser/extract-images-from-pdf-documents-using-python/">Extraer imágenes de documentos PDF usando Python</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
