Recently in one of my project we were using following Sencha Touch 2 PDF panel to display PDF in native application build with Cordova.
I faced a strange issue here. App was working fine without any build but when I generate a production build and build the native android app PDF panel stopped working and throws following error.
Unhandled rejection: TypeError: undefined is not an object (evaluating 'viewBox')
I tried to find out a solution for sometime but could not get any. I was using following PDF panel.
Suddenly I saw that there is no update since last three years and that could be probably be the reason. So what I did is downloaded latest PDF.js and built the minified files and used it and bingo it worked. So here I am going to explain the steps.
1) First of clone latest PDF.js source from it's git.
$ git clone git://github.com/mozilla/pdf.js.git
2) Now go to the folder.
$ cd pdf.js
3) Install Node.js if its not installed.
$ npm install -g gulp-cli
4) After node.js is installed, install all the dependencies.
$ npm install
5) Build PDF.js files.
$ gulp generic
it will generate minified files in directory build/generic/build/
Copy pdf.js and pdf.worker.js files from this directory to your lib folder and that's it now PDF will be displayed even in testing or production build.