如何在 .NET 中将 PDF 转换为 PNG

如何在 .NET 中将 PDF 转换为 PNG

将 PDF 转换为 PNG 图像是服务器自动化、IT工作流和可扩展的数字档案的核心要求. .NET 的 Aspose.PDF.Plugin PngConverter 为提供可靠的工具,可将数百或数千个 PDF 处理为高品质的 PNG.

Batch 处理场景

  • 数字档案: 将 PDF 页面存储为 PNG 以便轻松预览或网页显示.
  • 文档自动化: 为工作流系统或遵守审查创建每页图标.
  • Backend 管道: 为 OCR、ML 处理或数字资产工作流转换输入的 PDF 包.

目录处理:Batch Code Example

using Aspose.Pdf.Plugins;
using System.IO;

string inputDir = @"C:\Docs\PDFs";
string outputDir = @"C:\Docs\PNGS";
Directory.CreateDirectory(outputDir);

string[] pdfFiles = Directory.GetFiles(inputDir, "*.pdf");
int processed = 0;

foreach (var pdfFile in pdfFiles)
{
    string baseName = Path.GetFileNameWithoutExtension(pdfFile);
    var converter = new Png();
    var options = new PngOptions();
    options.AddInput(new FileDataSource(pdfFile));
    // Optional: Set output resolution
    options.OutputResolution = 200;

    var resultContainer = converter.Process(options);
    int pageNum = 1;
    foreach (var result in resultContainer.ResultCollection)
    {
        string imgOut = Path.Combine(outputDir, $"{baseName}_Page{pageNum}.png");
        File.WriteAllBytes(imgOut, result.ToFile());
        pageNum++;
    }
    processed++;
    Console.WriteLine($"Converted {pdfFile} to PNGs");
}
Console.WriteLine($"Done! Total PDFs processed: {processed}");

处理输出文件

  • 名称: 使用基础 PDF 姓名以及单一输出页面号码(例如., Invoice_23_Page1.png).
  • 文件夹结构: 根据源文件、包或项目需要下流工作流的组 PNG.
  • 长工作: 将文件夹分成可管理的组件(每运行100至1000个文件),以优化硬件/内存.
  • 记录一切: 跟踪所有输出文件进行恢复或审计.

用例

  • Backend 输入和企业平台的 Web Preview
  • 自动内容处理管道(例如,OCR,ML)
  • 图书馆大规模数字化、遵守或电子发现

经常提出的问题

**问:我可以在一个包中处理成千上万的PDF文件吗?**答:是的 - Aspose.PDF.Plugin 可以处理巨大的集合. 对于非常大的组合,分成分子,处理集,或使用基于曲线的编程.

**Q:如何管理独特的文件名?**A:使用基于来源的命名协议 PDF 名称加上页面号码,或根据文档或日期存储输出.

**Q:我可以控制PNG分辨率或压缩吗?**A: 是 - 设置 options.OutputResolution 或根据您的工作流所需的 PNG 质量设置.

Pro 提示: 在包转换之前,在原始 PDF 上运行优化器,以减少总磁盘空间,特别是高度的 PNG 工作流.

 中文