当我执行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,
那么它应该工作