4

这是一个 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 文档中提取整个文本的帖子,以及与我在此处的帖子类似的帖子其中写道没有这种可能性。

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

4

2 回答 2

5

我怀疑这是可能的——如果是的话,就不会有通用的解决方案,因为每个 PDF 查看器都是不同的。

不是每个人都使用 Adob​​e 自己的 Acrobat 插件。福昕风靡一时。这两个插件很可能不提供访问此信息的接口。

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

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

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

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

您可能需要退后一步,真正重新考虑您要在这里做什么。更大的图景是什么?你想达到什么目的?

于 2013-11-04T13:37:32.527 回答
0

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

var selectedText = myWebViewer.getInstance().docViewer.getSelectedText();
于 2017-06-08T14:12:04.837 回答