91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# 添加、刪除PDF空白頁

發布時間:2020-08-20 14:08:03 來源:網絡 閱讀:2263 作者:E_iceblue 欄目:編程語言

PDF格式的文檔廣泛應用于電子圖書、產品說明、公司文告、網絡資料、電子郵件等各種領域和場合。我們工作和學習中可能會遇到需要添加文檔頁來添加相應內容,或者刪除文檔中多出的空白頁等情況,因此,本篇文章將介紹如何在C#中來實現添加、刪除PDF空白頁。


示例要點

1.添加PDF空白頁
1.1 在默認位置添加空白頁(文檔末)
1.2 在指定位置添加空白頁
2.刪除空白頁


工具使用

這里示例中使用的是免費版的.NET PDF控件 Free Spire.PDF for .NET(添加dll引用時,可在安裝路徑下的Bin文件夾中獲取dll文件)

測試文檔截圖(文檔包含兩頁內容):
C# 添加、刪除PDF空白頁


1.添加PDF空白頁

1.1 在默認位置,即文檔末插入一張空白頁

C#

            //創建PDF文檔1,并加載測試文檔
            PdfDocument doc1 = new PdfDocument();
            doc1.LoadFromFile("sample.pdf");

            //添加一頁空白頁到文檔(默認在文檔最后一頁添加)
            doc1.Pages.Add();
            //保存并打開文檔
            doc1.SaveToFile("result1.pdf");
            System.Diagnostics.Process.Start("result1.pdf");

測試結果:
C# 添加、刪除PDF空白頁

1.2 在指定位置插入空白頁

C#

           //創建文檔2,加載測試文檔
            PdfDocument doc2 = new PdfDocument();
            doc2.LoadFromFile("sample.pdf");

            //添加一頁空白頁作為第2頁
            doc2.Pages.Insert(1);

            //保存并打開文檔
            doc2.SaveToFile("result2.pdf");
            System.Diagnostics.Process.Start("result2.pdf");

測試結果:
C# 添加、刪除PDF空白頁


2. 刪除PDF空白頁

測試文檔:
C# 添加、刪除PDF空白頁

這里的測試文檔中,包含了兩頁空白頁,一頁空白頁是沒有任何內容的;另一頁空白頁是包含了空白圖片的頁面,看似沒有內容,但是這樣的頁面實際上也是不需要的。
C#

using Spire.Pdf;
using System.Drawing;
using Spire.Pdf.Graphics;

namespace DeleteBlankPage_PDF
{
    class Program
    {
        static void Main(string[] args)
        {
            //應用許可證
            Spire.License.LicenseProvider.SetLicenseFileName("license.elic.xml");

            //創建PdfDocument類對象,并加載PDF文檔
            PdfDocument document = new PdfDocument();
            document.LoadFromFile("Test.pdf");

            //遍歷文檔中所有頁面 
            for (int i = document.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);
                    }
                }
            }

            //保存并打開文檔
            document.SaveToFile("RemoveBlankPage.pdf", FileFormat.PDF);
            System.Diagnostics.Process.Start("RemoveBlankPage.pdf");
        }

        //自定義方法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;
        }
    }
}

測試結果:
C# 添加、刪除PDF空白頁

附:VB.NET代碼(刪除PDF空白頁)

Imports Spire.Pdf
Imports System.Drawing
Imports Spire.Pdf.Graphics

Namespace DeleteBlankPage_PDF

    Class Program

        Private Shared Sub Main(ByVal args As String())
            Spire.License.LicenseProvider.SetLicenseFileName("license.elic.xml")
            Dim document As PdfDocument = New PdfDocument()
            document.LoadFromFile("Test.pdf")
            For i As Integer = document.Pages.Count - 1 To 0
                If document.Pages(i).IsBlank() Then
                    document.Pages.RemoveAt(i)
                Else
                    Dim image As Image = document.SaveAsImage(i, PdfImageType.Bitmap)
                    If IsImageBlank(image) Then
                        document.Pages.RemoveAt(i)
                    End If
                End If
            Next

            document.SaveToFile("RemoveBlankPage.pdf", FileFormat.PDF)
            System.Diagnostics.Process.Start("RemoveBlankPage.pdf")
        End Sub

        Public Shared Function IsImageBlank(ByVal image As Image) As Boolean
            Dim bitmap As Bitmap = New Bitmap(image)
            For i As Integer = 0 To bitmap.Width - 1
                For j As Integer = 0 To bitmap.Height - 1
                    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
                Next
            Next

            Return True
        End Function
    End Class
End Namespace

以上全部內容為本次關于“C# 添加、刪除PDF空白頁”的全部內容,歡迎轉載(轉載請注明出處)
感謝閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

pdf
AI

高雄县| 息烽县| 阿鲁科尔沁旗| 扶风县| 虞城县| 邻水| 沅陵县| 醴陵市| 濮阳市| 垦利县| 逊克县| 霍林郭勒市| 鸡西市| 江源县| 彰化市| 揭东县| 齐齐哈尔市| 富顺县| 班玛县| 沁源县| 定远县| 苏尼特右旗| 于田县| 宝清县| 沂水县| 平塘县| 漠河县| 曲周县| 霍州市| 慈溪市| 宁晋县| 合水县| 金溪县| 高青县| 新河县| 营山县| 扎囊县| 安化县| 清苑县| 南阳市| 安西县|