C# 如何删除PDF文档中的空白页面

2024-10-11 22:39:10

1、添加using指令using Spire.Pdf;using System.Drawing;using Spire.Pdf.Graphics;

2、应用许可证 Spire.License.LicenseProvider.SetLicenseFileName("license.elic.xml");

3、创建PdfDocument类对象,并加载PDF文档 PdfDocument document = new PdfDocument(); document.LoadFromFile("Test.pdf");

4、遍历文档中所有页面 for (int i = do罕铞泱殳cument.Pages.Count - 1稆糨孝汶; i >= 0; i--) { //诊断页面是否为空白页 if (document.Pages[i].IsBlank()) { //删除空白页 document.Pages.RemoveAt(i); } else { //将PDF页转换为Bitmap图像 Image image = document.SaveAsImage(i, PdfImageType.Bitmap); //诊断图片是否为空白图片 if (IsImageBlank(image)) { //移除包含空白图片的页面 document.Pages.RemoveAt(i); } } }这里需要自定义一个方法来判定可能包含的是否是空白图片//自定义方法IsImageBlank()诊断图片是否为空白图片 public static bool IsImageBlank(Image image) { //初始化Bitmap类实例,遍历文档中所有图片 Bitmap bitmap = new Bitmap(image); for (int i = 0; i < bitmap.Width; i++) { for (int j = 0; j < bitmap.Height; j++) { Color pixel = bitmap.GetPixel(i, j); if (pixel.R < 240 || pixel.G < 240 || pixel.B < 240) { return false; } } } return true; }

猜你喜欢