2

我使用 AxAcroPdf 显示带有此代码的 PDF 文件:

AcroPdfViewer.src = FilePath;
AcroPdfViewer.setPageMode("none");
AcroPdfViewer.setZoom(100);
AcroPdfViewer.setShowToolbar(true);

如何在 AxAcroPdf 中获取 PDF 文件的总页数?

4

3 回答 3

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;

    }

希望能帮助到你 ;)

资料来源: 计算 PDF 页面

于 2014-11-04T13:11:38.900 回答
0

2018 年编辑:如下所述,原始答案引用了一个不是 AxAcroPdf 方法的方法。但是无法删除已接受的答案,因此我必须将其留在这里。

于 2012-06-08T12:37:27.900 回答
0

如果您只安装了 Acrobat Reader,则无法通过 AxAcroPDFLib.AxAcroPDF 获取页数。

至于第一个答案,使用 GetNumPages() 需要您安装 Acrobat SDK。另外,您需要有标准或专业的 Adob​​e Acrobat Reader(非免费)才能使用此 API。

就第二个答案而言,它在很多情况下都不起作用。并非所有 pdf 文档都有“/Type /Page”标签。

但是您可以尝试其他 API 来获取 PDF 页面的数量。你可以看到这个问题。

于 2016-03-29T06:25:27.690 回答