最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#代碼實(shí)現(xiàn)獲取PDF文件的頁(yè)數(shù)

 更新時(shí)間:2026年03月20日 08:27:37   作者:2501_93070778  
計(jì)算?PDF?文件的頁(yè)數(shù)在許多場(chǎng)景中都十分重要,本文將介紹如何使用?C#,借助?Spire.PDF?for?.NET?獲取?PDF?文件的頁(yè)數(shù),有需要的小伙伴可以了解下

計(jì)算 PDF 文件的頁(yè)數(shù)在許多場(chǎng)景中都十分重要,例如確定文檔長(zhǎng)度、整理內(nèi)容結(jié)構(gòu)以及評(píng)估打印需求。除了通過(guò) PDF 閱讀器查看頁(yè)數(shù)信息外,你還可以通過(guò)編程方式自動(dòng)完成這一任務(wù)。本文將介紹如何使用 C#,借助 Spire.PDF for .NET 獲取 PDF 文件的頁(yè)數(shù)。

安裝 Spire.PDF for .NET

首先,你需要在 .NET 項(xiàng)目中添加 Spire.PDF for .NET 軟件包中包含的 DLL 文件作為引用。這些 DLL 文件可以通過(guò)指定鏈接下載,或者通過(guò) NuGet 進(jìn)行安裝。

PM> Install-Package Spire.PDF

在 C# 中獲取 PDF 文件的頁(yè)數(shù)

Spire.PDF for .NET 提供了 PdfDocument.Pages.Count 屬性,無(wú)需打開(kāi) PDF 文件即可快速統(tǒng)計(jì)其頁(yè)數(shù)。具體步驟如下:

  • 創(chuàng)建一個(gè) PdfDocument 對(duì)象。
  • 使用 PdfDocument.LoadFromFile() 方法加載示例 PDF 文件。
  • 通過(guò) PdfDocument.Pages.Count 屬性統(tǒng)計(jì) PDF 文件的頁(yè)數(shù)。
  • 輸出結(jié)果并關(guān)閉 PDF 文檔。

示例代碼如下:

using Spire.Pdf;

namespace GetNumberOfPages
{
    class Program
    {
        static void Main(string[] args)
        {
            // 創(chuàng)建 PdfDocument 對(duì)象
            PdfDocument pdf = new PdfDocument();

            // 加載示例 PDF 文件
            pdf.LoadFromFile("Contract.pdf");

            // 獲取 PDF 文件的頁(yè)數(shù)
            int PageNumber = pdf.Pages.Count;
            Console.WriteLine("該 PDF 文件共有 {0} 頁(yè)", PageNumber);

            // 關(guān)閉 PDF 文檔
            pdf.Close();
        }
    }
}

知識(shí)擴(kuò)展

C#判斷pdf文檔的頁(yè)數(shù)

        /// <summary>
        /// 獲取pdf文檔的頁(yè)數(shù)
        /// </summary>
        /// <param name="filePath"></param>
        /// <returns>-1表示文件不存在</returns>
        public static int GetPDFofPageCount(string filePath)
        {
            int count = -1;//-1表示文件不存在
            if (File.Exists(filePath))
            {
                using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
                {
                    StreamReader reader = new StreamReader(fs);
                    //從流的當(dāng)前位置到末尾讀取流
                    string pdfText = reader.ReadToEnd();
                    Regex rgx = new Regex(@"/Type\s*/Page[^s]");
                    MatchCollection matches = rgx.Matches(pdfText);
                    count = matches.Count;
                }
            }
            return count;
        }

C#獲取pdf文檔的頁(yè)數(shù)

  /// <summary>
        /// 獲取pdf文檔的頁(yè)數(shù)
        /// </summary>
        /// <param name="filePath"></param>
        /// <returns>-1表示文件不存在</returns>
        public static int GetPDFofPageCount(string filePath)
        {
            int count = -1;//-1表示文件不存在
            if (File.Exists(filePath))
            {
                using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
                {
                    StreamReader reader = new StreamReader(fs);
                    //從流的當(dāng)前位置到末尾讀取流
                    string pdfText = reader.ReadToEnd();
                    Regex rgx = new Regex(@"/Type\s*/Page[^s]");
                    MatchCollection matches = rgx.Matches(pdfText);
                    count = matches.Count;
                }
            }
            return count;
        }

使用iTextSharp獲取PDF文件的總頁(yè)數(shù)

public class pdfPage : PdfPageEventHelper
{              
    public override void OnEndPage(PdfWriter writer, Document doc)
    {
        iTextSharp.text.Rectangle page = doc.PageSize;
        //PdfPTable EndTable = new PdfPTable(2);
        PdfPTable EndTable = new PdfPTable(2);
        EndTable.DefaultCell.Padding = 2f;
        EndTable.HorizontalAlignment = Element.ALIGN_JUSTIFIED;
        iTextSharp.text.Font smallfont2 = FontFactory.GetFont(FontFactory.HELVETICA, "CP1250", 10);
        PdfPCell stopka1 = new PdfPCell(new Phrase("Left column - not important", smallfont2));
        stopka1.BorderWidthLeft = 0;
        stopka1.BorderWidthBottom = 0;
        stopka1.BorderWidthRight = 0;
        stopka1.HorizontalAlignment = Element.ALIGN_LEFT;
        stopka1.VerticalAlignment = Element.ALIGN_MIDDLE;
        PdfPCell stopka2 = new PdfPCell(new Phrase("Page " + doc.PageNumber + "/", smallfont2));
        stopka2.BorderWidthLeft = 0;
        stopka2.BorderWidthBottom = 0;
        stopka2.BorderWidthRight = 0;
        stopka2.HorizontalAlignment = Element.ALIGN_RIGHT;
        stopka2.VerticalAlignment = Element.ALIGN_MIDDLE;
        EndTable.AddCell(stopka1);
        EndTable.AddCell(stopka2);
        EndTable.TotalWidth = page.Width - doc.LeftMargin - doc.RightMargin;
        EndTable.WriteSelectedRows(0, -1, doc.LeftMargin, EndTable.TotalHeight + doc.BottomMargin - 45, writer.DirectContent);
    }
   } 

到此這篇關(guān)于C#代碼實(shí)現(xiàn)獲取PDF文件的頁(yè)數(shù)的文章就介紹到這了,更多相關(guān)C#獲取PDF頁(yè)數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#反射調(diào)用dll文件中的方法操作泛型與屬性字段

    C#反射調(diào)用dll文件中的方法操作泛型與屬性字段

    這篇文章介紹了C#反射調(diào)用dll文件中的方法操作泛型與屬性字段,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • WinForm窗體間傳值的方法

    WinForm窗體間傳值的方法

    這篇文章主要介紹了WinForm窗體間傳值的方法,包括了靜態(tài)變量、公共變量、共有屬性等方式,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • C#實(shí)現(xiàn)Ruby的負(fù)數(shù)索引器

    C#實(shí)現(xiàn)Ruby的負(fù)數(shù)索引器

    這篇文章主要介紹了C#實(shí)現(xiàn)Ruby的負(fù)數(shù)索引器的相關(guān)代碼和使用方法,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2016-07-07
  • C#類(lèi)的創(chuàng)建與初始化實(shí)例解析

    C#類(lèi)的創(chuàng)建與初始化實(shí)例解析

    這篇文章主要介紹了C#類(lèi)的創(chuàng)建與初始化實(shí)例解析,有助于初學(xué)者較為直觀(guān)的理解C#的類(lèi),需要的朋友可以參考下
    2014-07-07
  • C#壓縮解壓文件的常用方法

    C#壓縮解壓文件的常用方法

    在C#中處理文件和文件夾的壓縮與解壓,我們可使用微軟內(nèi)置的 System.IO.Compression 命名空間,也可選擇功能更豐富的第三方庫(kù)如 SharpZipLib,下面我將分別介紹幾種常見(jiàn)方法,需要的朋友可以參考下
    2025-09-09
  • C#實(shí)現(xiàn)把彩色圖片灰度化代碼分享

    C#實(shí)現(xiàn)把彩色圖片灰度化代碼分享

    這篇文章主要介紹了C#實(shí)現(xiàn)把彩色圖片灰度化代碼分享,用在一些特殊場(chǎng)合中,需要的朋友可以參考下
    2014-08-08
  • C#實(shí)現(xiàn)循環(huán)發(fā)送電腦屏幕截圖

    C#實(shí)現(xiàn)循環(huán)發(fā)送電腦屏幕截圖

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)循環(huán)發(fā)送電腦屏幕截圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C#實(shí)現(xiàn)簡(jiǎn)單的飛行棋游戲

    C#實(shí)現(xiàn)簡(jiǎn)單的飛行棋游戲

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)簡(jiǎn)單的飛行棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • WPF使用DrawingContext實(shí)現(xiàn)繪制刻度條

    WPF使用DrawingContext實(shí)現(xiàn)繪制刻度條

    這篇文章主要為大家詳細(xì)介紹了如何利用WPF DrawingContext實(shí)現(xiàn)繪制刻度條,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下
    2022-09-09
  • Audio Source組件及相關(guān)API

    Audio Source組件及相關(guān)API

    這篇文章主要介紹了Audio Source組件及相關(guān)API的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-11-11

最新評(píng)論

南乐县| 彝良县| 娱乐| 汉寿县| 莒南县| 仲巴县| 潞西市| 玉龙| 同江市| 正阳县| 肥东县| 盈江县| 全南县| 长岭县| 水富县| 米脂县| 上高县| 沙坪坝区| 渭南市| 永康市| 密山市| 新蔡县| 武平县| 安龙县| 吉木萨尔县| 乌恰县| 信宜市| 邢台县| 开原市| 广平县| 青龙| 阿拉善盟| 武鸣县| 张家界市| 资溪县| 澄迈县| 奉贤区| 墨竹工卡县| 通城县| 长宁县| 长治市|