如何在PDF.js中启用文本select

我正在尝试使用pdf.js来显示PDF文件。 我已经可以显示PDF,但文本select未启用。 有人可以给一个小例子如何在pdf.js中启用文本select?

我已经尝试了几件事,但没有成功。

我的代码目前看起来像这样:

PDFJS.getDocument('someRandom.pdf').then(function(pdf){ pdf.getPage(1).then(function(page) { // you can now use *page* here var scale = 1.5; var viewport = page.getViewport(scale); var canvas = document.getElementById('the-canvas'); var context = canvas.getContext('2d'); canvas.height = viewport.height; canvas.width = viewport.width; var renderContext = { canvasContext: context, viewport: viewport }; page.render(renderContext); }); }); 

我还包括这个:

 <script src="../pdfjs/pdf.js"></script> <script>PDFJS.workerSrc ="../pdfjs/pdf.worker.js"</script> 

此示例呈现PDF,但文本select未启用。 我想我真的错过了关于pdf.js的一些基本知识,但是很难find一些很好的例子,因为文档不是很好(至less对我而言)。

我也在这里试过这个例子,但控制台抛出一个错误,并一直说new PDFJS.DefaultAnnotationsLayerFactory()是未定义的。

我花了一些时间,但终于工作了。 这里有一些非常好的例子。 这是从官方回购(是的,我不好,我没有find他们)。

对于任何有兴趣的人,这里是我所做的(不知道你是否真的需要做第二步和第三步,我只是粘贴为我工作的例子):

1.克隆git回购

 git clone git://github.com/mozilla/pdf.js.git 
  1. 进入文件夹并运行npm install ,然后运行node make server (如果你还没有安装node.js,你必须先这样做)

  2. 运行node make generic components (也在pdf.js文件夹内)

现在,您可以将build目录复制到项目中(如果您想使用它们而不是创buildviewer.js,也可以将文件夹exapmle / components中的slideviewer.js或pageviewer.js复制到项目中)。 我的错只是把pdf.js和其他一些js复制到我的项目中。 它一直抛出错误,因为从该构build文件夹中丢失了一些其他的js文件。

详细解释如何在minimal.js标题中做到这一点。

https://github.com/vivin/pdfjs-text-selection-demo/blob/master/js/minimal.js

我在过去试过这个例子,它为我工作。