在我的一个处理PDF文档的.net项目中,需要获取特定文件的页数。由于不需要对PDF本身进行任何操作,所以购买一个.net组件来完成这一工作显然很不值得。
经过几个小时的研究,我发现了一个简单的解决方法,利用正则表达是可以解决这个问题。
在记事本中打开PDF文件,我发现文件中的每一页都有一个特定的标记:"/Type /Page" (根据PDF版本的不同,在两个词之间可能带有空格)。所以,我们只需要计算这个标记在文件里出现了多少次。
首先,我们需要使用FileStream 打开pdf文件,然后使用StreamReader将文档内容作为字符串读取。
FileStream fs = new FileStream(@"c:\a.pdf", FileMode.Open, FileAccess.Read);
StreamReader r = new StreamReader(fs);
string pdfText = r.ReadToEnd();
一旦获取了pdf文本,我们需要做的就是使用正则表达式计算:"/Type /Page" 标记出现的次数。
Regex rx1 = new Regex(@"/Type\s*/Page[^s]");
MatchCollection matches = rx1.Matches(pdfText);
MessageBox.Show("The PDF file has " + matches.Count.ToString() + " page(s).";
使用正则表达式计算PDF文档的页数
精选 转载下一篇:让猎头成为你的工具
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
正则表达式文档
正则表达式
职场 正则表达式 休闲 -
正则表达式入门文档
欣水:正则表达式在javascript中的应用很多,尤其是在判断用户注册方面,但是由于javascript的言的...
正则表达式 搜索引擎 Windows D语言 Go -
常用正则表达式,正则表达式
常用正则表达式,正则表达式
正则表达式 JavaScript 腾讯 VBScript prototype