<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>image extraction techniques on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/ja/tag/image-extraction-techniques/</link>
    <description>Recent content in image extraction techniques on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja</language>
    <lastBuildDate>Mon, 12 Oct 2026 17:04:44 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/ja/tag/image-extraction-techniques/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>C#でPDFドキュメントから画像を抽出する</title>
      <link>https://blog-qa.groupdocs.cloud/ja/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/ja/parser/extract-images-from-pdf-documents-in-csharp/</guid>
      <description>C# を使用して GroupDocs.Parser Cloud SDK for .NET で PDF ドキュメントから画像を抽出する方法を学びましょう。コード、cURL、ヒント付きのステップバイステップガイドをご覧ください。</description>
      <content:encoded><![CDATA[<p>PDF ドキュメントから画像を抽出することは、ドキュメント処理パイプラインを構築する際に頻繁に求められる要件であり、特にサムネイルの生成や画像の再利用などで重要です。<a href="https://products.groupdocs.cloud/parser/net/">GroupDocs.Parser Cloud SDK for .NET</a> は、このタスクを C# で簡単に実行できる強力な API を提供します。このガイドでは、PDF をアップロードし、埋め込まれたすべての画像を取得し、ローカルに保存し、必要に応じてリモートファイルをクリーンアップする方法を、完全なコードと REST の例とともに学びます。</p>
<h2 id="c-で-pdf-ドキュメントから画像を抽出する手順">C# で PDF ドキュメントから画像を抽出する手順</h2>
<ol>
<li><strong>GroupDocs Cloud ストレージに PDF をアップロード</strong>: <code>StorageApi.UploadFile</code> を使用して、ソース PDF をクラウドに配置します。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> uploadRequest = <span style="color:#66d9ef">new</span> UploadFileRequest(remotePdfPath, File.ReadAllBytes(localPdfPath));
</span></span><span style="display:flex;"><span>storageApi.UploadFile(uploadRequest);
</span></span></code></pre></div><p>この呼び出しにより、ファイルが解析できるようにアクセス可能になります。</p>
<ol start="2">
<li><strong>ドキュメント画像のリクエスト</strong>: <code>ParserApi.GetDocumentImages</code> を <code>GetDocumentImagesRequest</code> と共に呼び出します。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> imagesRequest = <span style="color:#66d9ef">new</span> GetDocumentImagesRequest(remotePdfPath);
</span></span><span style="display:flex;"><span>ImagesResult imagesResult = parserApi.GetDocumentImages(imagesRequest);
</span></span></code></pre></div><p>レスポンスには <code>ImageInfo</code> オブジェクトのコレクションが含まれ、各オブジェクトは Base64 データとメタデータを保持します。詳細は <a href="https://reference.groupdocs.cloud/parser/">API reference</a> を参照してください。</p>
<ol start="3">
<li><strong>各画像をデコードして保存する</strong>: <code>imagesResult.Images</code> を反復処理し、Base64 文字列をバイト配列に変換し、ディスクにファイルを書き込みます。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">foreach</span> (ImageInfo imgInfo <span style="color:#66d9ef">in</span> imagesResult.Images)
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">byte</span>[] imageBytes = Convert.FromBase64String(imgInfo.Base64Data);
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">string</span> extension = imgInfo.FileExtension?.TrimStart(<span style="color:#e6db74">&#39;.&#39;</span>).ToLower() ?? <span style="color:#e6db74">&#34;bin&#34;</span>;
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">string</span> fileName = <span style="color:#e6db74">$&#34;extracted_page{imgInfo.PageNumber}_img{imgInfo.ImageIndex}_{imageCounter}.{extension}&#34;</span>;
</span></span><span style="display:flex;"><span>    File.WriteAllBytes(fileName, imageBytes);
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>コンソールは保存されたファイル名、寸法、および DPI をログに出力し、検証します。</p>
<ol start="4">
<li><strong>(Optional) リモートPDFのクリーンアップ</strong>: 抽出後、アップロードされたファイルを削除してストレージを整理できます。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> deleteRequest = <span style="color:#66d9ef">new</span> DeleteFileRequest(remotePdfPath);
</span></span><span style="display:flex;"><span>storageApi.DeleteFile(deleteRequest);
</span></span></code></pre></div><p>このステップは try‑catch ブロックでラップされ、クリーンアップエラーを無視します。</p>
<ol start="5">
<li><strong>出力の確認</strong>: コンソールに <code>Total images extracted: 12</code> のようなサマリーが表示され、抽出が成功したことが確認できます。</li>
</ol>
<h2 id="完全なコード例-groupdocsparser-を使用した-pdf-ドキュメントから画像を抽出">完全なコード例: GroupDocs.Parser を使用した PDF ドキュメントから画像を抽出</h2>
<p>以下の例は、上記で説明したフルワークフローを示しています。構成、アップロード、画像抽出、保存、およびオプションのクリーンアップが含まれます。</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System.IO;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System.Collections.Generic;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Parser.Cloud.Sdk.Api;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Parser.Cloud.Sdk.Client;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Parser.Cloud.Sdk.Model;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Parser.Cloud.Sdk.Model.Requests;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">namespace</span> ExtractImagesFromPdf
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">Program</span>
</span></span><span style="display:flex;"><span>    {
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> Main(<span style="color:#66d9ef">string</span>[] args)
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Configuration – replace with your actual credentials</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> config = <span style="color:#66d9ef">new</span> Configuration
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                ClientId = <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>,
</span></span><span style="display:flex;"><span>                ClientSecret = <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span>
</span></span><span style="display:flex;"><span>            };
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// APIs</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> storageApi = <span style="color:#66d9ef">new</span> StorageApi(config);
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> parserApi = <span style="color:#66d9ef">new</span> ParserApi(config);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Input PDF path (local) and remote name in storage</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">const</span> <span style="color:#66d9ef">string</span> localPdfPath = <span style="color:#e6db74">&#34;input.pdf&#34;</span>;
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">const</span> <span style="color:#66d9ef">string</span> remotePdfPath = <span style="color:#e6db74">&#34;input.pdf&#34;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">try</span>
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// -------------------------------------------------</span>
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// 1. Upload PDF to GroupDocs Cloud storage (if not already there)</span>
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// -------------------------------------------------</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">if</span> (!File.Exists(localPdfPath))
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">throw</span> <span style="color:#66d9ef">new</span> FileNotFoundException(<span style="color:#e6db74">$&#34;Local file not found: {localPdfPath}&#34;</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">var</span> uploadRequest = <span style="color:#66d9ef">new</span> UploadFileRequest(remotePdfPath, File.ReadAllBytes(localPdfPath));
</span></span><span style="display:flex;"><span>                storageApi.UploadFile(uploadRequest);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// -------------------------------------------------</span>
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// 2. Retrieve document images (all pages)</span>
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// -------------------------------------------------</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">var</span> imagesRequest = <span style="color:#66d9ef">new</span> GetDocumentImagesRequest(remotePdfPath);
</span></span><span style="display:flex;"><span>                ImagesResult imagesResult = parserApi.GetDocumentImages(imagesRequest);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// -------------------------------------------------</span>
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// 3. Save each extracted image to disk</span>
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// -------------------------------------------------</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">int</span> imageCounter = <span style="color:#ae81ff">0</span>;
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">foreach</span> (ImageInfo imgInfo <span style="color:#66d9ef">in</span> imagesResult.Images)
</span></span><span style="display:flex;"><span>                {
</span></span><span style="display:flex;"><span>                    <span style="color:#75715e">// Image data is returned as Base64 string</span>
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">byte</span>[] imageBytes = Convert.FromBase64String(imgInfo.Base64Data);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Build a descriptive file name</span>
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">string</span> extension = imgInfo.FileExtension?.TrimStart(<span style="color:#e6db74">&#39;.&#39;</span>).ToLower() ?? <span style="color:#e6db74">&#34;bin&#34;</span>;
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">string</span> fileName = <span style="color:#e6db74">$&#34;extracted_page{imgInfo.PageNumber}_img{imgInfo.ImageIndex}_{imageCounter}.{extension}&#34;</span>;
</span></span><span style="display:flex;"><span>                    File.WriteAllBytes(fileName, imageBytes);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Console.WriteLine(<span style="color:#e6db74">$&#34;Saved: {fileName} ({imgInfo.Width}x{imgInfo.Height} px, {imgInfo.Resolution} DPI)&#34;</span>);
</span></span><span style="display:flex;"><span>                    imageCounter++;
</span></span><span style="display:flex;"><span>                }
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Console.WriteLine(<span style="color:#e6db74">$&#34;Total images extracted: {imageCounter}&#34;</span>);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">catch</span> (ApiException apiEx)
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                Console.Error.WriteLine(<span style="color:#e6db74">$&#34;GroupDocs API error: {apiEx.ErrorCode} - {apiEx.Message}&#34;</span>);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">catch</span> (Exception ex)
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                Console.Error.WriteLine(<span style="color:#e6db74">$&#34;Unexpected error: {ex.Message}&#34;</span>);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">finally</span>
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// -------------------------------------------------</span>
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// 4. Optional cleanup – delete the uploaded PDF from storage</span>
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// -------------------------------------------------</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">try</span>
</span></span><span style="display:flex;"><span>                {
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">var</span> deleteRequest = <span style="color:#66d9ef">new</span> DeleteFileRequest(remotePdfPath);
</span></span><span style="display:flex;"><span>                    storageApi.DeleteFile(deleteRequest);
</span></span><span style="display:flex;"><span>                }
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">catch</span>
</span></span><span style="display:flex;"><span>                {
</span></span><span style="display:flex;"><span>                    <span style="color:#75715e">// Ignored – cleanup is optional</span>
</span></span><span style="display:flex;"><span>                }
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>        }
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><blockquote>
<p><strong>注意:</strong> このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパスや構成値を実際の環境に合わせて更新し、すべての必須依存関係が正しくインストールされていることを確認し、開発環境で徹底的にテストしてください。問題が発生した場合は、<a href="https://docs.groupdocs.cloud/parser/">公式ドキュメント</a> または <a href="https://forum.groupdocs.cloud/c/parser/19">サポートチーム</a> にお問い合わせください。</p>
</blockquote>
<h2 id="curl-を使用した-rest-api-で画像を抽出">cURL を使用した REST API で画像を抽出</h2>
<p>同じ操作は直接の REST 呼び出しで実行できます。以下は最小限の cURL ワークフローです。</p>
<ol>
<li><strong>アクセストークンを取得する</strong> (OAuth 2.0 クライアント資格情報グラント)。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/oauth2/token&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/x-www-form-urlencoded&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#34;grant_type=client_credentials&amp;client_id=YOUR_CLIENT_ID&amp;client_secret=YOUR_CLIENT_SECRET&#34;</span>
</span></span></code></pre></div><p>レスポンスには <code>access_token</code> が含まれます。</p>
<ol start="2">
<li><strong>PDF をアップロード</strong> してクラウドストレージへ。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X PUT <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/file/input.pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     --data-binary <span style="color:#e6db74">&#34;@input.pdf&#34;</span>
</span></span></code></pre></div><ol start="3">
<li><strong>画像をリクエスト</strong>（アップロードされたドキュメント用）。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X GET <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/parser/input.pdf/images&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span>
</span></span></code></pre></div><p><a href="https://docs.fileformat.com/web/json/">JSON</a> レスポンスには、<code>base64Data</code>、<code>fileExtension</code>、<code>pageNumber</code> などを含む画像の配列が含まれます。</p>
<ol start="4">
<li><strong>各画像をローカルに保存</strong> (<code>jq</code> と <code>base64</code> を使用した例)。</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X GET <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/parser/input.pdf/images&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> | <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     jq -r <span style="color:#e6db74">&#39;.images[] | &#34;\(.pageNumber)_\(.imageIndex).\(.fileExtension) \(.base64Data)&#34;&#39;</span> | <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     <span style="color:#66d9ef">while</span> read filename b64; <span style="color:#66d9ef">do</span>
</span></span><span style="display:flex;"><span>         echo <span style="color:#e6db74">&#34;</span>$b64<span style="color:#e6db74">&#34;</span> | base64 -d &gt; <span style="color:#e6db74">&#34;</span>$filename<span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>     <span style="color:#66d9ef">done</span>
</span></span></code></pre></div><p>エンドポイントとパラメータの詳細については、<a href="https://docs.groupdocs.cloud/parser/">公式 API ドキュメント</a>をご覧ください。</p>
<h2 id="環境の準備">環境の準備</h2>
<ol>
<li>NuGet を使用して .NET クライアント ライブラリをインストールします:</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>dotnet add package GroupDocs.Parser-Cloud
</span></span></code></pre></div><p>パッケージは公式の<a href="https://releases.groupdocs.cloud/parser/net/">ダウンロード ページ</a>から入手できます。</p>
<ol start="2">
<li>
<p>.NET 6.0 以降がインストールされており、クライアント認証情報を持つ有効な GroupDocs Cloud アカウントがあることを確認してください。</p>
</li>
<li>
<p>（オプション）サンプルリポジトリをクローンして参照します:</p>
</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>git clone https://github.com/groupdocs-parser-cloud/groupdocs-parser-cloud-dotnet.git
</span></span></code></pre></div><h2 id="groupdocsparser-が画像抽出に適している理由">GroupDocs.Parser が画像抽出に適している理由</h2>
<ul>
<li><strong>直接画像取得</strong>: <code>GetDocumentImages</code> 呼び出しは、追加の変換ステップなしで画像を元の形式で返します。</li>
<li><strong>Base64 配信</strong>: 画像は Base64 文字列として提供され、任意の言語で簡単にデコードできます。</li>
<li><strong>ページレベルのメタデータ</strong>: 各 <code>ImageInfo</code> にはページ番号、寸法、解像度、インデックスが含まれ、抽出されたアセットの整理に役立ちます。</li>
<li><strong>すべての一般的なラスタ形式のサポート</strong>: <a href="https://docs.fileformat.com/image/png/">PNG</a>, <a href="https://docs.fileformat.com/image/jpeg/">JPEG</a>, <a href="https://docs.fileformat.com/image/bmp/">BMP</a>, <a href="https://docs.fileformat.com/image/gif/">GIF</a>, <a href="https://docs.fileformat.com/image/tiff/">TIFF</a> などが PDF に保存されたまま正確に保持されます。</li>
<li><strong>スケーラブルなクラウド処理</strong>: 大きな PDF は GroupDocs サーバーで処理され、アプリケーションのメモリ負荷が軽減されます。</li>
</ul>
<h2 id="画像抽出オプションの設定">画像抽出オプションの設定</h2>
<p>基本的な例はすぐに動作しますが、リクエストを微調整できます：</p>
<ul>
<li><strong>ページ範囲を指定</strong>: <code>GetDocumentImagesRequest</code> に <code>pages = &quot;1-5&quot;</code> を追加して抽出を制限します。</li>
<li><strong>画像品質を設定</strong>: <a href="https://docs.fileformat.com/web/compressed/">圧縮</a> 出力が必要な場合は <code>imageQuality</code> パラメーター (0‑100) を使用します。</li>
<li><strong>形式でフィルタ</strong>: <code>fileExtensions = [&quot;png&quot;,&quot;jpeg&quot;]</code> を指定して、選択した形式のみを受け取ります。</li>
</ul>
<p>これらのオプションは、<a href="https://reference.groupdocs.cloud/parser/">API リファレンス</a>に記載されています。</p>
<h2 id="結論">結論</h2>
<p>C# で PDF ドキュメントから画像を抽出することは、<a href="https://products.groupdocs.cloud/parser/net/">GroupDocs.Parser Cloud SDK for .NET</a> を活用すれば、シンプルで信頼性の高いプロセスになります。SDK はアップロード、解析、Base64 変換を処理し、ファイルの保存やワークフローへの統合に集中できるようにします。クライアント認証情報を安全に保管し、ライセンス条件を遵守し、評価用に<a href="https://purchase.groupdocs.cloud/temporary-license/">一時ライセンスページ</a>で一時ライセンスの使用を検討してください。提供されたコードと REST の例を使用すれば、任意の .NET アプリケーションに堅牢な PDF 画像抽出機能を追加できます。</p>
<h2 id="faqs">FAQs</h2>
<p><strong>C# を使用して PDF ドキュメントから画像を抽出するにはどうすればよいですか？</strong><br>
<code>StorageApi.UploadFile</code> で PDF をアップロードした後、Parser API の <code>GetDocumentImages</code> メソッドを使用します。返された Base64 文字列をデコードし、コード例に示すようにディスクに書き込みます。</p>
<p><strong>PDFがパスワードで保護されている場合はどうすればよいですか？</strong><br>
リクエストモデルにパスワードを含めます。SDKは画像を抽出する前にファイルを復号化します。正確なプロパティ名については、<a href="https://docs.groupdocs.cloud/parser/">ドキュメント</a> を参照してください。</p>
<p><strong>特定のページに抽出を限定できますか？</strong><br>
はい、<code>GetDocumentImagesRequest</code> の <code>pages</code> プロパティをカンマ区切りのリストまたは範囲（例: <code>&quot;1-3,5&quot;</code>）に設定します。API はそれらのページからのみ画像を返します。</p>
<p><strong>抽出された画像にサイズ制限はありますか？</strong><br>
SDKはリサイズせずに元の画像データを返します。サイズの小さいファイルが必要な場合は、任意の画像処理ライブラリを使用して保存された画像を後処理してください。</p>
<h2 id="read-more">Read More</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/ja/parser/extract-images-from-pdf-using-csharp/">C# .NET で PDF から画像を抽出 | PDF 画像抽出 API</a></li>
<li><a href="https://blog.groupdocs.cloud/ja/parser/extract-images-from-pdf-documents-in-java/">Java で PDF ドキュメントから画像を抽出</a></li>
<li><a href="https://blog.groupdocs.cloud/ja/parser/extract-text-from-word-document-csharp/">.NET REST API を使用して PDF からテキストを抽出 | ドキュメントからテキストへの変換ツール</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
