我正在尝试使用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是这项工作的合适锤子吗?
答案 0 :(得分:2)
page.then(function() {
应为page.then(function(page) {
答案 1 :(得分:1)
PDF.js呈现您的pdf文件并生成单词,然后将它们输出为html元素。 然后将每个元素放在pdf上方,使用css属性{position:absolute; left:X,top:Y}并屏蔽你的pdf。
这些div被赋予css属性{color:transparent}。这就是选择突出显示的技巧,看来你直接从pdf文件中选择,但实际上你正在选择创建的html元素。
这正是它的工作原理,如果你想渲染pdf文件就没关系,但要记住,如果你想改变输出技术(html透明div),你必须带上你自己的替代品。
答案 2 :(得分:0)
您还需要将其更改为
for (var j = 1; j <= maxPages; j++) {
否则你永远不会得到第一页。