Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PDF.js本机Android浏览器问题_Javascript_Android_Html_Mobile_Canvas - Fatal编程技术网

Javascript PDF.js本机Android浏览器问题

Javascript PDF.js本机Android浏览器问题,javascript,android,html,mobile,canvas,Javascript,Android,Html,Mobile,Canvas,我的任务是找到一种在Android浏览器中显示PDF的方法,而不必将其下载到用户的手机上。到目前为止,我发现PDF.js非常适合于此。除了Android的本机浏览器(在同一部手机上的Chrome浏览器中也可以正常工作),我尝试过的其他手机/浏览器都可以使用它。我已经在两个机器人(4.1.2和4.3.x)上试过了,但这两个机器人都不行 (红色框是从PDF元数据派生的绝对divs元素。它们不是画布的一部分。我知道它只是加载文档,而不是呈现文档) PDFJS .getDocument(PDFSour

我的任务是找到一种在Android浏览器中显示PDF的方法,而不必将其下载到用户的手机上。到目前为止,我发现PDF.js非常适合于此。除了Android的本机浏览器(在同一部手机上的Chrome浏览器中也可以正常工作),我尝试过的其他手机/浏览器都可以使用它。我已经在两个机器人(4.1.2和4.3.x)上试过了,但这两个机器人都不行

(红色框是从PDF元数据派生的绝对divs元素。它们不是画布的一部分。我知道它只是加载文档,而不是呈现文档)

PDFJS
.getDocument(PDFSource)
。然后(函数(pdf){
//为每一页制作画布
对于(var i=1;i
PDFJS
    .getDocument(PDFSource)
    .then(function(pdf) {
        //make canvas for each page
        for(var i = 1; i <= pdf.numPages; i++) {

            //add an annotation div and a canvas to draw to.
            $('body').append('<div id="AnnotationLayer' + i + '" class="annotations"></div><canvas id="PDFCanvas' + i + '"></canvas>');

            //get the page
            pdf.getPage(i).then(function(page) {
                var scale = 1;
                var viewport = page.getViewport(scale);
                var scaledViewport = viewport;

                var canvas = document.getElementById('PDFCanvas' + page.pageNumber);
                var context = canvas.getContext('2d');
                canvas.height = scaledViewport.height;
                canvas.width = scaledViewport.width;

                var renderContext = {
                  canvasContext: context,
                  viewport: scaledViewport
                };

                //context.clearRect(0, 0, canvas.width, canvas.height); //tried this
                page.render(renderContext);
                //canvas.width = canvas.width; //tried this

                //tried commenting out annotations, did not seem to work
                var $annotationLayerDiv = $('#AnnotationLayer' + page.pageNumber);

                //extract links from the page and put them absolutely positioned over the canvas
                annotations(page, canvas, $annotationLayerDiv);
            })