Attach (recommended) or Link to PDF file here:
[Hong Kong Aircraft Engineering Company Limited_1511417616.1 2.pdf](https://github.com/mozilla/pdf.js/files/1539395/Hong.Kong.Aircraft.Engineering.Company.Limited_1511417616.1.2.pdf)


Configuration:
- Web browser and its version: Chrome: 63 
- Operating system and its version: windows and macOs
- PDF.js version: 2.0.185
- Is a browser extension: No

Steps to reproduce the problem:
1. Upload the above PDF and search for "article 1"
2. PDF.js showing only **2** match But actually **4** times available.   

What is the expected behavior? (add screenshot)

![screen shot 2017-12-07 at 7](https://user-images.githubusercontent.com/6101789/33720106-ed404576-db88-11e7-9c19-cf6aea74e9f3.png)



What went wrong? (add screenshot)

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

function (data) {
          expect(data instanceof PasswordException).toEqual(true);
          expect(data.code).toEqual(PasswordResponses.INCORRECT_PASSWORD);
          return passwordIncorrectLoadingTask.destroy();
        }
      );
      const passwordAcceptedLoadingTask = getDocument(
        buildGetDocumentParams(filename, {
          password: "asdfasdf",
        })
      );
      expect(
        passwordAcceptedLoadingTask instanceof PDFDocumentLoadingTask
      ).toEqual(true);
      const result3 = passwordAcceptedLoadingTask.promise.then(function (data) {
        expect(data instanceof PDFDocumentProxy).toEqual(true);
        return passwordAcceptedLoadingTask.destroy();
      });
      await Promise.all([result1, result2, result3]);
    });
    it(
      "creates pdf doc from password protected PDF file and aborts/throws " +
        "in the onPassword callback (issue 7806)",
      async function () {
        const filename = "issue3371.pdf";
        const passwordNeededLoadingTask = getDocument(
          buildGetDocumentParams(filename)
        );
        expect(
          passwordNeededLoadingTask instanceof PDFDocumentLoadingTask