如何解决PDF.js,获取大纲的所有内容
一直在研究 pdf.js 以读取 pdf 文件的部分内容
最准确地说,我想将所有文本从一个书签/大纲移到下一个。 如果书签有这个数据
- 介绍,p1
- 第 1 章第 2 节
- 第 2 章,第 5 页
- 第 3 章,第 5 页
- 第 4 章,第 7 页
我想先检索介绍的文本,然后是第 1 章(p2-p4(也许在 p5 上有一些?))、第 2 章(p5 的一部分)、第 3 章(p5 的一部分 - p6/p7)以及关于 p7 及以后的第 4 章
我尝试过并成功的是这个
先阅读书签/大纲
pdf.getOutline()
在我的例子中,大纲 dest 是一个数组,所以我抓住第一个并将其用作参考
for (let i = 0; i < outline.length; i++) {
const destRef = outline[i].dest[0];
}
然后我可以使用 getPageInfo 获取该引用的 pageIndex。并为该页面获取所有文本
pdf.getPageIndex(destRef).then(pageIndex => {
console.log('page ' + (pageIndex + 1));
pdf.getPage(pageIndex+1).then(function(page) {
page.getTextContent().then(function(text) {
console.log('Content on page ' + (pageIndex + 1));
console.log(text);
});
});
//this._goToDestinationHelper(rawDest,namedDest,explicitDest);
}).catch(() => {
console.error(`"${destRef}" is not ` + `a valid page reference`);
});
我现在拥有该引用页面的所有文本。
我猜我需要获取所有页面数据(不仅仅是文本,还有图像、链接等)并遍历它们以查找“书签标记”引用何时出现?
这是我目前的代码
pdf.getOutline().then(function(outline) {
if(outline) {
console.log(outline);
for (let i = 0; i < outline.length; i++) {
const destRef = outline[i].dest[0];
console.log(destRef);
// get page no
pdf.getPageIndex(destRef).then(pageIndex => {
pdf.getPage(pageIndex+1).then(function(page) {
page.getTextContent().then(function(text) {
console.log('Content on page ' + (pageIndex + 1));
console.log(text);
});
});
}).catch(() => {
console.error(`Ref "${destRef}" is not ` + `a valid page reference`);
});
};
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。