• <menu id="w2i4a"></menu>
  • logo E-iceblue中文文檔

    文檔首頁(yè)>>E-iceblue中文文檔>>查找并刪除 PDF 中的空白頁(yè)

    查找并刪除 PDF 中的空白頁(yè)


    Spire.PDF for .NET 是一款專門對(duì) Word 文檔進(jìn)行操作的 .NET 類庫(kù)。致力于在于幫助開(kāi)發(fā)人員輕松快捷高效地創(chuàng)建、編輯、轉(zhuǎn)換和打印 Microsoft Word 文檔,而無(wú)需安裝 Microsoft Word。

    行號(hào)用于在每行文本旁邊顯示 Word 自動(dòng)計(jì)算的行數(shù)。當(dāng)我們需要參考合同或法律文件等文檔中的特定行時(shí),它非常有用。word中的行號(hào)功能允許我們?cè)O(shè)置起始值、編號(hào)間隔、與文本的距離以及行號(hào)的編號(hào)方式。使用 Spire.Doc,我們可以實(shí)現(xiàn)上述所有功能。本文將介紹如何將 HTML 轉(zhuǎn)換為 PDF。

    Spire.PDF for.NET 最新下載

    歡迎加入spire技術(shù)交流群:767755948

    PDF 文件中的空白頁(yè)并不少見(jiàn),因?yàn)樗鼈兛赡苁亲髡哂幸饬粝碌?,也可能是在處理文檔時(shí)不小心添加的。在閱讀或打印文檔時(shí),這些空白頁(yè)可能會(huì)很煩人,因此很有必要?jiǎng)h除它們。在本文中,您將學(xué)習(xí)如何使用 Spire.PDF for .NET 以編程方式查找并刪除 PDF 文檔中的空白頁(yè)。

    安裝 Spire.PDF for .NET

    首先,您需要將 Spire.PDF for.NET 軟件包中包含的 DLL 文件作為引用添加到您的 .NET 項(xiàng)目中。這些 DLL 文件既可以從這個(gè)鏈接下載,也可以通過(guò) NuGet 安裝。

    PM> Install-Package Spire.PDF

    查找并刪除 PDF 文檔中的空白頁(yè)

    Spire.PDF for .NET提供了一個(gè)PdfPageBase.IsBlank()方法來(lái)檢測(cè)PDF頁(yè)面是否絕對(duì)空白。但有些看起來(lái)空白的頁(yè)面實(shí)際上包含白色圖像,使用 PdfPageBase.IsBlank() 方法無(wú)法將這些頁(yè)面視為空白頁(yè)面。因此,有必要?jiǎng)?chuàng)建一個(gè)自定義方法IsImageBlank()與PdfPageBase.IsBlank()方法結(jié)合使用,以檢測(cè)這些白色但非空白的頁(yè)面。

    注:該解決方案將把 PDF 頁(yè)面轉(zhuǎn)換為圖像,并檢測(cè)圖像是否為空白。在轉(zhuǎn)換后的圖像中,有必要應(yīng)用許可證來(lái)刪除評(píng)估信息。否則,此方法將無(wú)法正常工作。如果您沒(méi)有許可證,請(qǐng)聯(lián)系 sales@e-iceblue.com 獲取臨時(shí)許可證,用于評(píng)估目的。

    具體步驟如下:

    • 創(chuàng)建一個(gè) PdfDocument 實(shí)例。
    • 使用 PdfDocument.LoadFromFile() 方法加載一個(gè) PDF 文檔。
    • 使用PdfPageBase.IsBlank()方法循環(huán)瀏覽PDF文檔中的頁(yè)面,檢測(cè)頁(yè)面是否空白。
    • 使用PdfDocument.Pages.RemoveAt()方法刪除絕對(duì)空白的頁(yè)面。
    • 對(duì)于非絕對(duì)空白的頁(yè)面,使用PdfDocument.SaveAsImage()方法將其保存為圖像。然后使用自定義方法IsImageBlank()檢測(cè)轉(zhuǎn)換后的圖像是否空白,并使用PdfDocument.Pages.RemoveAt()方法刪除 "空白 "頁(yè)面。
    • 使用PdfDocument.SaveToFile()方法保存結(jié)果文檔。
    [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

    申請(qǐng)臨時(shí)許可證
    若想從生成的文檔中刪除評(píng)估信息,或解除功能限制,申請(qǐng) 30 天試用許可證。

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();