如何在 .NET 中将多页 PDF 转换为单个 PNG 文件

如何在 .NET 中将多页 PDF 转换为单个 PNG 文件

出口每个页面一 PDF 作为一个单独的 PNG 使用 Aspose.PDF.Plugin PngConverter for .NET,您可以自动化这个过程 - 每页输出一个 PNG,组织文件,甚至处理白页逻辑.

多页提取场景

  • 创建页面图像档案,以满足或法律审查
  • 将单个页面传输到WebCMS、小型发电机或OCR发动机
  • 准备数字课程包或电子书,每页网页准备的图像

样品代码:将每个页面转换为单独的 PNG

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

string inputPdf = @"C:\Docs\catalog.pdf";
string outputDir = @"C:\Docs\CatalogPNGS";
Directory.CreateDirectory(outputDir);

var converter = new Png();
var options = new PngOptions();
options.AddInput(new FileDataSource(inputPdf));
options.OutputResolution = 150; // Adjust as needed

var resultContainer = converter.Process(options);
int pageNum = 1;
foreach (var result in resultContainer.ResultCollection)
{
    string imgOut = Path.Combine(outputDir, $"catalog_Page{pageNum}.png");
    // Optional: Check for blank pages here (see advanced tips)
    File.WriteAllBytes(imgOut, result.ToFile());
    pageNum++;
}
Console.WriteLine($"Converted {pageNum-1} pages to PNGs.");

输出文件组织

  • 一貫名稱: 使用基礎 PDF 姓名及頁面號碼(例如., catalog_Page1.png, catalog_Page2.png, …)
  • 文件夹: 根据源文档、包或内容类型组织下流工作流
  • 白页处理: 添加逻辑来检测和排除白色图像(参见下面的提示)

上一篇: Skipping Blank Pages

  • 分析 PNG 比特或作为 Bitmap 播放,并在节省之前检查像素密度/内容
  • 使用 Aspose.PDF 或第三方图像图书馆确定页面是否视觉空白

用例

  • CMS:将每个 PDF 页面作为 Web 图像资产输入
  • 文档管理:允许页面级搜索、小组和预览
  • 档案数字化:提供页面访问扫描收藏品

内部链接

经常提出的问题

**Q:我如何为每个页面命名输出文件?**答:使用一致的基名和页面指数(例如., Invoice_2025_Page1.png). 由分散器组织,如果处理多份文件.

**Q:我可以错过白色或空白的页面吗?**答:是的 - 添加出口后检查:打开 PNG,检测它是否全部是白色或近零的内容,并在需要时错过节约.

**Q:输出分辨率可自定义吗?**A: 是 - 设置 options.OutputResolution 每一份工作.

Pro 提示: 对于混合工作流,在 PNG 出口之前将其与 Splitter 或 Image Extractor 插件结合到预处理、清洁或后过滤内容.

 中文