澄清一下,手工具是用户点击pdf并拖动的功能,用于代替滚动条导航。
问题是,默认情况下,Chrome 和 Firefox pdf 查看器没有该功能,我希望允许用户拖动页面。
一种解决方法是使用带有嵌入对象(PDF 查看器)的 JavaScript 库(在我的例子中是Grab to Pan https://github.com/Rob--W/grab-to-pan.js )。当我最大化 pdf 的大小并且用户拖动嵌入对象时。
我遇到的问题是
使用 Chrome / Firefox 时,PDF 内容不适合页面,但默认情况下会自动调整大小,即使我使用 iframe 设置了 Adobe PDF 打开参数。
JavaScript 代码似乎与 Firefox PDF 查看器冲突,它在 Chrome 上运行顺畅,但在 Firefox 上运行不顺畅。
这是源代码,您可以从上面提到的链接下载库并查看。不要忘记将“1.pdf”与源文件一起放置。
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>Grab-to-pan.js demo</title>
<link rel="stylesheet" href="grab-to-pan.css" type="text/css">
<style>
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
.scrollable {
overflow: auto;
width: 100%;
height: 100%;
background-color: #EEE;
}
#zoomPage {
overflow:visible;
width: 100%;
height: 150%;
}
</style>
</head>
<body>
<label><input type="checkbox" id="activate-g2p" checked> Activate Grab to Pan</label>
<div class="scrollable" id="scrollable-container">
<object id = 'zoomPage' type='application/pdf' data= '1.pdf#zoom=page-fit'><p>The PDF can not display</p></object>
</div>
<script src="grab-to-pan.js"></script>
<script>
document.getElementById('activate-g2p').onchange = function() {
if (this.checked) g2p.activate();
else g2p.deactivate();
};
var scrollableContainer = document.getElementById('scrollable-container');
var g2p = new GrabToPan({
element: scrollableContainer
});
g2p.activate();
</script>
</body>
</html>