制作一个包含整个PDF高度的可滚动div

Jay*_*Bee 7 html css pdf reactjs

我将PDF嵌入到我的网页中。我正在做一些愚蠢的事情来隐藏状态栏(包括下载按钮和页码),以便可以从外部控制它们(我希望能够在尝试下载文档时强制进行其他下载)。如果有什么不同(例如在框架下只能工作/不工作的解决方案),那么我正在使用React。

我可以使用URL设置PDF的活动页面,但是在加载该页面之后,我无法获取文档的滚动位置来更新页面编号。

我认为解决方案是将嵌入的PDF包含在我可以亲自控制的div中。为此,我希望嵌入的对象的高度为PDF所有页面组合的垂直高度的总和,然后将其装入具有设置高度的div中。我可以从那里监视文档的滚动位置以确定当前页面。

<div class='encasing-div'>
    <div class='toolbar'/>
    <object data='some.pdf' type='application/pdf'>
        <embed src='some.pdf' type='application/pdf' wmode='opaque'/>
    </object>
</div>
Run Code Online (Sandbox Code Playgroud)

我无法使嵌入式PDF成为文档的全部高度。我知道页面加载时文档中的页数,但是我不知道如何/是否可以使用它来适当地调整高度。

如何使嵌入对象成为整个PDF的高度,从而消除嵌入对象的滚动并允许使用外部滚动?

编辑:这是一张图片,试图解释我在寻找什么。在图片的第二部分中,div外部的内容将被隐藏但可以滚动到。 在此处输入图片说明

Ast*_*ute 1

好吧,一旦我遇到了同样的问题,我就这样解决了,它为我解决了所有问题,希望它也能帮助你

<div class="PDfDiv">
     <object data="some.pdf" type="application/pdf"  height="100%" width="100%">
          <param name="src"value="some.pdf" />
     </object>
  </div>
Run Code Online (Sandbox Code Playgroud)

并在你的 CSS 中添加:

.PDfDiv{
    height: 100vh;
}
Run Code Online (Sandbox Code Playgroud)

  • 这不会产生我想要的效果。在您的示例中包含 pdf 的 div 是视口的高度 - 这是正确的。&lt;object&gt; 不是所附文档的完整高度,这是不正确的。嵌入的对象需要是文档的完整高度,从而强制 &lt;div&gt; 控制滚动。 (2认同)