我使用AxAcroPdf显示包含以下代码的PDF文件:
AcroPdfViewer.src = FilePath;
AcroPdfViewer.setPageMode("none");
AcroPdfViewer.setZoom(100);
AcroPdfViewer.setShowToolbar(true);
如何在AxAcroPdf中获取PDF文件的总页数?
答案 0 :(得分:1)
我认为执行pdf页面计数的最佳方法如下:
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 :(得分:0)
2018编辑:如下所述,原始答案引用了not an AxAcroPdf method的方法。但是接受的答案不能删除,所以我必须把它留在这里。
答案 2 :(得分:0)
如果您只安装了Acrobat Reader,则无法通过AxAcroPDFLib.AxAcroPDF获取页数。
至于第一个答案,使用GetNumPages()要求您安装Acrobat SDK。此外,您需要使用标准或专业的Adobe Acrobat Reader(非免费)才能使用此API。
就第二个答案而言,它在许多情况下都不起作用。并非所有的pdf文件都有" / Type / Page"标签
但您可以尝试其他API来获取PDF页面的数量。 You can see this question.