我使用正则表达式来计算pdf的页数。下面是我使用的代码。
Regex regex = new Regex(@"/Type\s*/Page[^s]");
MatchCollection matches = regex.Matches(sr.ReadToEnd());
return matches.Count;
它适用于1.6以下版本,但不适用于版本1.6的pdf文件。如果pdf版本为1.6,则返回0页。
答案 0 :(得分:2)
在您的情况下,您很可能需要使用1.6文档,这些文档利用了当时引入的压缩对象流功能。在这些文档中,您搜索的信息是压缩的,您的正则表达式找不到它。
有些工具允许您在搜索之前解压缩文件中的此类流。但是,在您查找它们之前,请注意,无论如何都不能信任您的代码结果