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):

passwordIncorrectLoadingTask.onPassword = function (callback, reason) {
          if (reason === PasswordResponses.INCORRECT_PASSWORD) {
            throw new Error("Incorrect password");
          }
          
          expect(false).toEqual(true);
        };
        const result2 = passwordIncorrectLoadingTask.promise.then(
          function () {
            
            expect(false).toEqual(true);
            return Promise.reject(new Error("loadingTask should be rejected"));
          },
          function (reason) {
            expect(reason instanceof PasswordException).toEqual(true);
            expect(reason.code).toEqual(PasswordResponses.INCORRECT_PASSWORD);
            return passwordIncorrectLoadingTask.destroy();
          }
        );
        await Promise.all([result1, result2]);
      }
    );
    it("creates pdf doc from empty typed array", async function () {
      const loadingTask = getDocument(new Uint8Array(0));
      expect(loadingTask instanceof PDFDocumentLoadingTask).toEqual(true);
      try {
        await loadingTask.promise;
        
        expect(false).toEqual(true);
      } catch (reason) {