如何在 PDF.js 中启用文本选择
How to enable text selection in PDF.js
我正在尝试使用 pdf.js 来显示 pdf。我已经可以显示 pdf,但未启用文本选择。有人可以举一个小例子说明如何在 pdf.js 中启用文本选择吗?
我已经尝试了几件事,但都没有成功。
我的代码目前看起来像这样:
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,但未启用文本选择。我想我真的缺少一些关于 pdf.js 的基本知识,但是很难找到一些好的例子,因为文档不是那么好(至少对我而言)。
我也试过这个例子here
但控制台抛出错误并一直说
new PDFJS.DefaultAnnotationsLayerFactory()
未定义。
minimal.js 标题中详细说明了如何操作。
https://github.com/vivin/pdfjs-text-selection-demo/blob/master/js/minimal.js
我以前试过这个例子,它对我有用。
我花了一些时间,但终于成功了。
有一些非常好的例子 here。它来自官方仓库(是的,我没有找到它们)。
对于任何感兴趣的人,这是我所做的(不知道您是否真的需要执行第 2 步和第 3 步,我只是粘贴对我有用的示例):
1.Clone git 存储库
git clone git://github.com/mozilla/pdf.js.git
进入文件夹然后运行npm install
然后node make server
(如果你还没有安装node.js,你必须这样做第一)
运行 node make generic components
(也在 pdf.js 文件夹内)
现在您只需将 build
目录复制到您的项目中(如果您愿意,也可以从文件夹 exapmle/components 中复制 slideviewer.js 或 pageviewer.js 到您的项目中使用它们而不是创建你的 viewer.js)。我的错误是只将 pdf.js 和其他一些 js 复制到我的项目中。由于缺少该构建文件夹中的其他一些 js 文件,它不断抛出错误。
我正在尝试使用 pdf.js 来显示 pdf。我已经可以显示 pdf,但未启用文本选择。有人可以举一个小例子说明如何在 pdf.js 中启用文本选择吗?
我已经尝试了几件事,但都没有成功。
我的代码目前看起来像这样:
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,但未启用文本选择。我想我真的缺少一些关于 pdf.js 的基本知识,但是很难找到一些好的例子,因为文档不是那么好(至少对我而言)。
我也试过这个例子here
但控制台抛出错误并一直说
new PDFJS.DefaultAnnotationsLayerFactory()
未定义。
minimal.js 标题中详细说明了如何操作。
https://github.com/vivin/pdfjs-text-selection-demo/blob/master/js/minimal.js
我以前试过这个例子,它对我有用。
我花了一些时间,但终于成功了。 有一些非常好的例子 here。它来自官方仓库(是的,我没有找到它们)。
对于任何感兴趣的人,这是我所做的(不知道您是否真的需要执行第 2 步和第 3 步,我只是粘贴对我有用的示例):
1.Clone git 存储库
git clone git://github.com/mozilla/pdf.js.git
进入文件夹然后运行
npm install
然后node make server
(如果你还没有安装node.js,你必须这样做第一)运行
node make generic components
(也在 pdf.js 文件夹内)
现在您只需将 build
目录复制到您的项目中(如果您愿意,也可以从文件夹 exapmle/components 中复制 slideviewer.js 或 pageviewer.js 到您的项目中使用它们而不是创建你的 viewer.js)。我的错误是只将 pdf.js 和其他一些 js 复制到我的项目中。由于缺少该构建文件夹中的其他一些 js 文件,它不断抛出错误。