没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2024-03-26 10:55:53.903|阅读 115 次
概述:在本文中,您将了解如何使用Spire.PDF for .NET以编程方式查找和删除 PDF 文档中的空白页。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
PDF 中的空白页并不罕见,因为它们可能是作者故意留下的或在操作文档时意外添加的。当您阅读或打印文档时,这些空白页可能会很烦人,因此可能非常有必要将其删除。在本文中,您将了解如何使用Spire.PDF for .NET以编程方式查找和删除 PDF 文档中的空白页。
Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理,且无需安装 Adobe Acrobat。
E-iceblue 功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式
Spire.PDF for.net下载 Spire.PDF for java下载
首先,您需要将 Spire.PDF for .NET 包中包含的 DLL 文件添加为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过NuGet安装。
PM> Install-Package Spire.PDF
Spire.PDF for .NET 提供了方法PdfPageBase.IsBlank()来检测 PDF 页面是否绝对空白。但有些看起来空白的页面实际上包含白色图像,使用PdfPageBase.IsBlank()方法不会将这些页面视为空白。因此,有必要创建一个自定义方法IsImageBlank()与PdfPageBase.IsBlank()方法结合使用来检测这些白色但非空白的页面。
注意:此解决方案会将 PDF 页面转换为图像并检测图像是否为空白。需要申请许可证才能删除转换图像中的评估消息。否则,该方法将无法正常工作。如果您没有许可证,请联系sales@e-iceblue.com获取临时许可证以进行评估。
详细步骤如下:
[C#]
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace DeleteBlankPage
{
class Program
{
static void Main(string[] args)
{
//Apply license by license key
Spire.License.LicenseProvider.SetLicenseKey("your license key");
//Create a PdfDocument instance
PdfDocument document = new PdfDocument();
//Load a sample PDF document
document.LoadFromFile("input.pdf");
//Loop through all pages in the PDF
for (int i = document.Pages.Count - 1; i >= 0; i--)
{
//Detect if a page is blank
if (document.Pages[i].IsBlank())
{
//Remove the absolutely blank page
document.Pages.RemoveAt(i);
}
else
{
//Save PDF page as image
Image image = document.SaveAsImage(i, PdfImageType.Bitmap);
//Detect if the converted image is blank
if (IsImageBlank(image))
{
//Remove the page
document.Pages.RemoveAt(i);
}
}
}
//Save the result document
document.SaveToFile("RemoveBlankPage.pdf", FileFormat.PDF);
}
//Detect if an image is blank
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;
}
}
}
【VB.NET】
Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Namespace DeleteBlankPage
Class Program
Private Shared Sub Main(ByVal args() As String)
'Apply license by license key
Spire.License.LicenseProvider.SetLicenseKey("your license key")
'Create a PdfDocument instance
Dim document As PdfDocument = New PdfDocument
'Load a sample PDF document
document.LoadFromFile("input.pdf")
'Loop through all pages in the PDF
Dim i As Integer = (document.Pages.Count - 1)
Do While (i >= 0)
'Detect if a page is blank
If document.Pages(i).IsBlank Then
'Remove the absolutely blank page
document.Pages.RemoveAt(i)
Else
'Save PDF page as image
Dim image As Image = document.SaveAsImage(i, PdfImageType.Bitmap)
'Detect if the converted image is blank
If Program.IsImageBlank(image) Then
'Remove the page
document.Pages.RemoveAt(i)
End If
End If
i = (i - 1)
Loop
'Save the result document
document.SaveToFile("RemoveBlankPage.pdf", FileFormat.PDF)
End Sub
'Detect if an image is blank
Public Shared Function IsImageBlank(ByVal image As Image) As Boolean
Dim bitmap As Bitmap = New Bitmap(image)
Dim i As Integer = 0
Do While (i < bitmap.Width)
Dim j As Integer = 0
Do While (j < bitmap.Height)
Dim pixel As Color = bitmap.GetPixel(i, j)
If ((pixel.R < 240) _
OrElse ((pixel.G < 240) _
OrElse (pixel.B < 240))) Then
Return False
End If
j = (j + 1)
Loop
i = (i + 1)
Loop
Return True
End Function
End Class
End Namespace
以上便是如何查找并删除 PDF 中的空白页,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,你还可以给我留言或者加入我们的官方技术交流群。
欢迎下载|体验更多E-iceblue产品
获取更多信息请咨询 ;技术交流Q群(767755948)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn




Tech Soft 3D 正式整合旗下 SDK 工具包,构建以数据、图形、仿真和建模为核心的 HOOPS 产品体系
在当今的数据驱动时代,Python 开发者经常需要将列表(一种基本的 Python 数据结构)转换为 Excel 电子表格。Excel 作为各行业通用的数据展示、报告生成与信息共享工具,无论是生成业务报告、准备分析数据,还是与非技术人员协作,掌握将 Python 列表导出为 Excel 的高效方法都至关重要。
本篇教程,我们将学习如何使用Aspose.CAD for Python via .NET将 SVG 转换为PNG 。这款 3D CAD SDK 有助于实现单个文件和多个文件格式转换的自动化。我们将编写一个完整的代码示例,以演示Aspose.CAD for Python via .NET的可用性和效率。
在制造业数字化项目中,让数据流动起来,往往比让设备动起来还难。
相关产品
Spire.PDF for .NET是独立的PDF控件,用于.NET程序中创建、编辑和操作PDF文档
Spire.Doc for .NETSpire.Doc for .NET 是一款专门对 Word 文档进行操作的 .NET 类库。
最新文章 MORE
半岛外围网上直营相关的文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
半岛外围网上直营