如何从网页中的嵌入 pdf 中获取所选文本

How to get the selected text from an embedded pdf in a web page?

本文关键字:获取 pdf 文本 网页      更新时间:2023-09-26

这是一个pdf文档的示例,我需要从中提取用户的选择 http://www.ada.gov/hospcombrprt.pdf。如果我们查看页面源代码,我们将看到如下内容:

<html>
  <body marginwidth="0" marginheight="0" style="background-color: rgb(38,38,38)">  
     <embed width="100%" height="100%" name="plugin"        
     src="http://www.ada.gov/hospcombrprt.pdf" type="application/pdf">
  </body>
</html>

我们如何从这个嵌入的pdf中获取用户的选择?

我在这里找到了一篇关于从 pdf 文档中提取全文的帖子,以及一篇类似于我的帖子,其中写道没有这种可能性。

但应该有一些出路。也许可以提取整个文本,然后以某种方式确定选择了什么?或者通过鼠标按下和向上事件上的鼠标光标位置确定选择?任何想法将不胜感激。

我怀疑这是否可能 - 如果是,将没有通用解决方案,因为每个PDF查看器都是不同的。

不是每个人都使用Adobe自己的Acrobat插件。福昕很受欢迎。这两个插件很可能不提供访问此信息的接口。

一些浏览器,如Chrome和Firefox现在提供了一个内置的PDF查看器,其工作方式与插件完全不同。

另外,您是否正在访问其他域上的PDF?在这种情况下,同源策略无论如何都会阻止访问此类信息。

最后,您需要考虑到并非每个用户都喜欢使用(甚至被允许使用)PDF浏览器插件,因此您的"解决方案"在这些情况下不起作用。

还有一点:你正在使用过时的embed元素而不是object这一事实表明你正在使用非常古老的知识。

您可能需要退后一步,真正重新考虑您在这里要做的事情。大局是什么?你想实现什么?

我也想要一种从网页上的pdf中获取选定文本的方法,我遇到了pdftron,这当然不是本机方法。您可以使用pdftron的网络查看器使用以下方法从pdf中获取选定的文本:

var selectedText = myWebViewer.getInstance().docViewer.getSelectedText();