我知道有几个工具/库可以做到这一点,但我想知道这是否可行,只需将文件作为文本文件打开并查找关键字。
答案 0 :(得分:3)
看看这个:http://www.freevbcode.com/ShowCode.asp?ID=8153
修改:不工作,可能太旧了
发现这个:
public static int GetNoOfPagesPDF(string FileName)
{
int result = 0;
FileStream fs = new FileStream(FileName, FileMode.Open, FileAccess.Read);
StreamReader r = new StreamReader(fs);
string pdfText = r.ReadToEnd();
System.Text.RegularExpressions.Regex regx = new Regex(@"/Type\s*/Page[^s]");
System.Text.RegularExpressions.MatchCollection matches = regx.Matches(pdfText);
result = matches.Count;
return result;
}
答案 1 :(得分:1)
[编辑:根据编辑过的问题]
可以通过将其作为文本文件和一些最小的解析来阅读。
如果您自己阅读pdf,则需要进行解析。 PDF中的每个页面都由页面对象表示。
以下内容提供了对页面的pdf规范和pdf规范链接的理解。
答案 2 :(得分:-1)
xpdf实用程序包(在debian中称为xpdf-utils)包含一个名为pdfinfo的应用程序。它将打印出文件中的页数,以及其他数据。
http://www.linuxquestions.org/questions/programming-9/how-to-find-pdf-page-count-699113/