正在获取文本内容pdf.js

Getting textcontent pdf.js

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

我正在尝试使用js中的pdf.js从pdf文档中获取文本。然而,pdf.js没有像样的文档,我查看了可用的示例,得出了以下结论:

var pdfUrl = "http://localhost/test.pdf"
var pdf = PDFJS.getDocument(pdfUrl);
pdf.then(function(pdf) {
    var maxPages = pdf.pdfInfo.numPages;
    for (var j = 1; j < maxPages; j++) {
        var page = pdf.getPage(j);
        page.then(function() {
            var textContent = page.getTextContent();
        })
    }
});

页面部分正在工作,因为我可以看到它是一个承诺。然而,运行此位会给出:

Warning: Unhandled rejection: TypeError: Object #<Object> has no method 'getTextContent'
TypeError: Object #<Object> has no method 'getTextContent'

在我看到的例子中,它就是这样工作的。它正在获取页面,我可以打印出页数。

有经验的人能发光吗?

*奖金问题:我只对解析pdf感兴趣,而不是在浏览器中渲染它。然而,它必须在客户端完成。pdf.js适合这份工作吗?

page.then(function() {应为page.then(function(page) {

PDF.js呈现您的PDF文件并生成单词,然后将其输出为html元素。然后,每个元素都被放置在具有css属性的pdf之上{position:absolute;left:X,top:Y},并被屏蔽在pdf之上。

这些div被赋予css属性{color:transparent}。这实现了突出显示选择的技巧,看起来你是直接从pdf文件中选择,但实际上你是在选择创建的html元素。

这正是它的工作原理,如果你想呈现pdf文件,这是可以的,但要记住,如果你想要改变输出技术(html透明的div),你必须带上自己的替换。。。

您还需要将其更改为

for (var j = 1; j <= maxPages; j++) {

否则你永远也看不到第一页。