Regex 使用正则表达式的PDF页面计数
我使用正则表达式计算pdf的页面数。下面是我使用的代码Regex 使用正则表达式的PDF页面计数,regex,pdf,Regex,Pdf,我使用正则表达式计算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页 在您的情况下,您很可能需要使用1.6文档,该文档利用了当时引入的压缩对象流的功能。因为在这样的
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页 在您的情况下,您很可能需要使用1.6文档,该文档利用了当时引入的压缩对象流的功能。因为在这样的文档中,您搜索的信息是压缩的,所以正则表达式找不到它
Regex regex = new Regex(@"/Type\s*/Page[^s]");
MatchCollection matches = regex.Matches(sr.ReadToEnd());
return matches.Count;
有一些工具允许您在搜索文件之前解压缩文件中的此类流。但是,在查找它们之前,请注意,您的代码的结果无论如何都不可信
Regex regex = new Regex(@"/Type\s*/Page[^s]");
MatchCollection matches = regex.Matches(sr.ReadToEnd());
return matches.Count;
- 匹配项可能多于页面,因为文件中可能存在旧的、未使用的页面对象或甚至其他错误的正片
- 匹配项可能少于页面,因为PDF允许以其他方式写入这些类型条目