NET で複数の PDF からすべての画像を抽出する方法
NET で複数の PDF からすべての画像を抽出する方法
シングルから画像を抽出する PDF このガイドでは、メディアアーカイブ、IT資産処理、またはデジタルコンテンツ再編のための完璧な Aspose.PDF.ImageExtractor Plugin を使用して複数の PDF から幅広い画像抽出を自動化する方法を示しています.
バッチ処理ワークフロー
- あなたの入力を組織する: すべてのソース PDF ファイルを単一のフォルダーに置く(例えば.,
/Assets/InputPDFs). - 出力フォルダーをデザインする: 選択肢として、各PDFのサブフォールダーを作成するか、すべての画像を単一のディレクトリに収集します.
- バッチスクリプトを設定する: Aspose.PDFを使用します
ImageExtractor各ファイルを処理するためのループ.
ファイルを介して走る(コード例)
using Aspose.Pdf.Plugins;
using System.IO;
string inputDir = @"C:\Assets\InputPDFs";
string outputBaseDir = @"C:\Assets\ExtractedImages";
string[] pdfFiles = Directory.GetFiles(inputDir, "*.pdf");
foreach (var pdfFile in pdfFiles)
{
// Optionally create a unique folder for each PDF
string pdfName = Path.GetFileNameWithoutExtension(pdfFile);
string imageOutputDir = Path.Combine(outputBaseDir, pdfName);
Directory.CreateDirectory(imageOutputDir);
// Configure extractor
var extractor = new ImageExtractor();
var options = new ImageExtractorOptions();
options.AddInput(new FileDataSource(pdfFile));
// Process extraction
var resultContainer = extractor.Process(options);
int imageIndex = 0;
foreach (var imageResult in resultContainer.ResultCollection)
{
string imgPath = Path.Combine(imageOutputDir, $"img_{++imageIndex}.png");
File.WriteAllBytes(imgPath, imageResult.ToFile());
}
Console.WriteLine($"Extracted {imageIndex} images from {pdfName}");
}出力管理と先進的なヒント
- フォルダーの組織: 各 PDF にユニークなファイルを使用するか、ファイル名とページに基づいて画像を名付けます.
- スカラビリティ: 入力ファイルを100sまたは1000sのPDFを処理した場合、並行処理のためのバッチに分割します.
- フォーマット: デフォルトで、抽出された画像は、その先住民形式(PNG、JPEGなど)に保存されます.
- ログ: 監査およびエラートラッキングのための処理されたPDF/画像のログを保持します.
ユースケース
- 大規模デジタルアーカイブ/イメージ移行
- 出版またはウェブのための自動グラフィック資産抽出
- 文書収集から法的または法的な証拠の準備
よくある質問
**Q:画像をカスタマイズされたフォルダーに保存する方法、または名称を使用できますか?**A: PDF ファイル名(拡張子なし)を使用してサブフォルダーを作成し、上記のように PDF の画像をインデックスします.
**Q:私は一つのバッチで数百または数千のPDFを処理できますか?**A: はい! 非常に大きな仕事の場合は、入力をより小さなバットに分解し、最適なスピードのために並行で実行してください.
**Q:すべての画像タイプ(JPEG、PNGなど)が抽出されていますか.)?**A: はい - 抽出器は、プロセス後/変換後、オリジナルのフォーマットを保存しません.
Pro ヒント: 抽出後、使用してください 最適化者 ストレージの足跡を減らすか、または 分割器 抽出前にPDFを処理する.