【教程】Spire.PDF 教程:在C# 删除 PDF 中的空白页

Spire.PDF

空白页面通常被定义为不包含任何内容的页面。 Spire.PDF提供了一个方法IsBank来检测PDF页面是否绝对空白。 但是,一些“空白页”实际上可以包含白色图像,使用IsBank方法不会将其视为空白。 要检测这些白色但不是空白页面,我们创建了自定义方法IsImageBlank。

注意:此解决方案必须应用许可证才能完成,如果你没有授权,请联系客服获取临时的许可证。

static void Main(string[] args){    //应用许可证(license)    Spire.License.LicenseProvider.SetLicenseFileName("license.elic.xml");    //创建PdfDocument对象    PdfDocument document = new PdfDocument();    //加载PDF文档    document.LoadFromFile("sample.pdf");    //遍历每一页    for (int i = document.Pages.Count - 1; i >= 0; i--)    {        //判读是否为空白页        if (document.Pages[i].IsBlank())        {            //删除空白页            document.Pages.RemoveAt(i);        }        else        {            //若非空白页,将页面转换为图片            Image image = document.SaveAsImage(i, PdfImageType.Bitmap);            //判断图片是否为空白            if (IsImageBlank(image))            {                //若图片为空白,删除对应的PDF页                document.Pages.RemoveAt(i);            }        }    }    //保存文档    document.SaveToFile("output.pdf", FileFormat.PDF);}//////判断图片是否为空白/////////public static bool IsImageBlank(Image image){    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;}

效果图:

图片1

标签:文档管理PDF文档处理

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年3月17日
下一篇 2018年3月18日

相关推荐

发表回复

登录后才能评论