Frage

I use AxAcroPdf to display PDF file with this code :

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

How can I get number of total pages of the PDF file in AxAcroPdf ?

War es hilfreich?

Lösung

2018 edit: as commented below, the original answer referenced a method that is not an AxAcroPdf method. But an accepted answer cannot be deleted, so I have to leave it here.

Andere Tipps

I think the best way to perform a pdf page count is the following:

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;

    }

Hope it helps ;)

Source: Counting PDF Pages

You cannot get number of pages via AxAcroPDFLib.AxAcroPDF if you have only Acrobat Reader installed.

As for the first answer, using GetNumPages() requires you to install Acrobat SDK. Plus, you need to have standard or professional Adobe Acrobat Reader (NOT FREE) to use this API.

In terms of the second answer, it doesn't work in many cases. Not all pdf documents have "/Type /Page" tag.

But you can try other APIs to get the number of PDF pages. You can see this question.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top