(转)c#计算PDF文档的页数

原文:http://topic.csdn.net/u/20090613/00/cb092dc5-0ed6-4804-9539-080163036fbe.html?80096

在记事本中打开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).";


留作备用

 

posted on 2009-06-16 09:24  冷月孤峰  阅读(902)  评论(2)    收藏  举报