如何在 .NET 中提取多个 PDF 中的所有图像
如何在 .NET 中提取多个 PDF 中的所有图像
从一个单一的图像中提取 PDF 这个指南显示如何使用 Aspose.PDF.ImageExtractor Plugin for .NET 自动从多个 PDF 中大规模图像提取.
Batch 处理工作流
- 安排您的输入: 将所有源 PDF 文件放入一个单一文件夹(例如.,
/Assets/InputPDFs). - 设计输出文件夹: 可选,为每个 PDF 创建字段或将所有图像集成到一个单一目录中.
- Set Up the Batch Script: 使用 Aspose.PDF.Plugin’s
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 的独特文件,或根据源文件名和页面命名图像.
- 可扩展: 将输入文件分成平行处理组,如果处理 100 或 1000 个 PDF 文件.
- 格式: 默认情况下,提取的图像存储在其原始形式(例如,PNG,JPEG.
- 登录: 为审计和错误跟踪处理的 PDF / 图像保存日志.
用例
- 大规模数字档案/图像迁移
- 自动图形资产提取出版或网页
- 法律或法律证据从文件收集的准备
经常提出的问题
**Q:我如何将图像存储在自定义文件夹中,或者使用自定的名称?**答: 使用 PDF 文件名(没有扩展)创建字符串,并根据上面的示文索引图像.
**Q:我可以在一套中处理数百或数千个PDF文件吗?**答:是的!对于非常大的工作,把你的输入分成较小的组合,并在平行运行,以获得最佳速度.
**Q:所有图像类型都被提取(JPEG、PNG等.)?**答:是的 - 提取器保留原始格式,除非您在提交后进行处理/转换.