当我执行Pinch Zoom手势(在显示屏上两根手指互相擦拭或彼此擦拭)时,请在iOS 11.4.1的Cordova应用程序的PDF.JS viewer.html中,将文档永久放大或缩小。但是,如果以小于 120%时,不会进行任何重新渲染(PDF.JS工具栏中没有显示加载微调器),并且进一步触发了'gesturechange'事件,一切正常。现在的问题是,是否可以在必要时停用重新渲染并仅在收缩缩放结束时再次执行它?

这是JavaScript示例代码。 PDFJS viewer.html在iframe中呈现,并使用ExtJS。

var viewer = Ext.dom.Query.select('iframe')[0].contentWindow.document.getElementById("viewer");
var pdfViewer = me.el.dom.contentWindow.PDFViewerApplication.pdfViewer;

viewer.addEventListener('gesturechange', function(e) {

    if (e.scale < 1.0) {
        console.log("PinchOut")
        pdfViewer.currentScale = pdfViewer.currentScale - 0.01;
    } else if (e.scale > 1.0) {
        console.log("PinchIn");
        pdfViewer.currentScale = pdfViewer.currentScale + 0.01;
    }
})

最佳答案

尝试将viewer.js中的PDFJS.disableTextLayer设置为“ false”

PDFJS.disableTextLayer: false,

那么它应该工作

09-25 15:11