0

可能重复:
使用 C# (.NET 2.0) 确定 PDF 文件中的页数

我使用以下代码来获取目录中 pdf 文件的数量。

    var extensions = new HashSet<string>(StringComparer.OrdinalIgnoreCase) 
    {
        ".pdf", 
    };
    var baseDir = BatchFolderPath;
    var pdfFilesCount = Directory.EnumerateFiles(baseDir)
                                 .Count(filename =>
                                        extensions.Contains(Path.GetExtension(filename)));

我不知道如何获取目录中每个 pdf 文档中的页数。请帮忙。谢谢。

4

2 回答 2

4

类似的问题已经在这里被问过 Stack Overflow 。希望能帮助到你。

编辑:
这是您可以找到指定目录中存在的每个 pdf 文件的页数的方法:

using System;
using iTextSharp.text.pdf;
using System.IO;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            int PgCount = 0;
            string[] PdfFiles = Directory.GetFiles(@"C:\MyFolder\", "*.pdf");
            Console.WriteLine("{0} PDF Files in directory", PdfFiles.Length.ToString());
            for (int i = 0; i < PdfFiles.Length; i++)
            {
                PgCount = GetNumberOfPages(PdfFiles[i]);
                Console.WriteLine("{0} File has {1} pages", PdfFiles[i], PgCount.ToString());
            }
            Console.ReadLine();
        }

        static int GetNumberOfPages(String FilePath)
        {
            PdfReader pdfReader = new PdfReader(FilePath); 
            return pdfReader.NumberOfPages; 
        }
    }
}  

您必须从此处下载 itextsharp.dll并将其包含在参考资料中。

于 2012-10-05T13:48:00.537 回答
1

有几个库可以处理来自 c# 的 pdf。考虑

  1. iTextSharp
  2. 报告网
  3. 夏普PDF
  4. PDFsharp
  5. PDFjet 开源版
于 2012-10-05T13:45:25.903 回答