Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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压缩缩放_Javascript_Angularjs_Ionic Framework_Hammer.js_Pdfjs - Fatal编程技术网

Javascript 使用PDF.js压缩缩放

Javascript 使用PDF.js压缩缩放,javascript,angularjs,ionic-framework,hammer.js,pdfjs,Javascript,Angularjs,Ionic Framework,Hammer.js,Pdfjs,我有一个移动应用程序,可以用PDF.js呈现PDF文件。我的框架是离子型和角度型的。 我可以渲染PDF,但在缩放方面有问题。当我使用离子缩放时,pdf会变得模糊。js提供了缩放功能,但仅限于级别。 有没有一种方法可以将捏手势和无障碍缩放结合起来 我已经尝试了hammer.js,但没有找到可用的代码…我找到了解决方案: 我以2.3的因子呈现pdf,因此页面太高。然后我用Ionic缩小并计算如下值: $ionicScrollDelegate.$getByHandle("pdfScroller")

我有一个移动应用程序,可以用PDF.js呈现PDF文件。我的框架是离子型和角度型的。 我可以渲染PDF,但在缩放方面有问题。当我使用离子缩放时,pdf会变得模糊。js提供了缩放功能,但仅限于级别。 有没有一种方法可以将捏手势和无障碍缩放结合起来


我已经尝试了hammer.js,但没有找到可用的代码…

我找到了解决方案:

我以2.3的因子呈现pdf,因此页面太高。然后我用Ionic缩小并计算如下值:

$ionicScrollDelegate.$getByHandle("pdfScroller")
    .zoomBy(window.innerWidth / (document.getElementById("pageContainer1").clientWidth);
case 'page-width':
    scale = pageWidthScale;
    break;
系数2.3必须分别在viewer.js和pdf.js中设置。 第4900-5000行应该是这样的:

$ionicScrollDelegate.$getByHandle("pdfScroller")
    .zoomBy(window.innerWidth / (document.getElementById("pageContainer1").clientWidth);
case 'page-width':
    scale = pageWidthScale;
    break;
将其更改为:

case 'page-width':
    scale = pageWidthScale * 2.3;
    break;
现在应该可以放大,文本可读

编辑

HTML:

setPdfToCenter和ZoomToFullSize:

function setPdfToCenter(){
     var scroll = document.getElementsByClassName("scroll");
     for(var i=0; i < scroll.length; i++){
          if(scroll[i].parentElement.id == "pdfScrollerID"){
               scroll[i].style.width = (window.innerWidth / MINZOOM_DEAULT) + "px";
          }
     }
     $scope.resetZoom(); 
}

function zoomToFullSize(){
    $scope.pdfScroller.zoomBy(window.innerWidth / (document.getElementById("pageContainer1").clientWidth));
}
函数setPdfToCenter(){
var scroll=document.getElementsByClassName(“滚动”);
对于(变量i=0;i
另请参见,谢谢。但我已经看到了这一点。我在尝试实现您描述的东西时遇到了问题,您能提供一些工作代码吗?您是否在ion scroll指令中呈现pdf?是的,我在名为“pdfScroller”的ion scroll中呈现了它。我添加了一些代码。但是我切换到了cordova文档查看器插件,因为我的pdf查看器不够好。我有很多记忆问题。也许这对你来说也是一种可能性。很好,我会尝试,实际上我无法让它工作,因为在最新版本的ionic中有一个bug,它要求在指令中添加overflow scroll=“false”属性,否则缩放功能不起作用。
function setPdfToCenter(){
     var scroll = document.getElementsByClassName("scroll");
     for(var i=0; i < scroll.length; i++){
          if(scroll[i].parentElement.id == "pdfScrollerID"){
               scroll[i].style.width = (window.innerWidth / MINZOOM_DEAULT) + "px";
          }
     }
     $scope.resetZoom(); 
}

function zoomToFullSize(){
    $scope.pdfScroller.zoomBy(window.innerWidth / (document.getElementById("pageContainer1").clientWidth));
}