我在使用PDF.js从pdf中提取文本时遇到问题。我使用从Excel导出的PDF,因此有多行/列。这是我用来获取文字的功能:
gettext: function(url, name){
var self = this;
var data = url;
console.log('attempting to get text');
return pdfjs.getDocument(data).then(function(pdf) {
var pages = [];
for (var i = 0; i <= 1; i++) {
pages.push(i);
}
return Promise.all(pages.map(function(pageNumber) {
return pdf.getPage(pageNumber + 1).then(function(page) {
return page.getTextContent().then(function(textContent) {
return textContent.items.map(function(item) {
return item.str;
}).join('###');
});
});
})).then(function(pages) {
return pages.join("\r\n")
});
}).then(function(pages){
return self.parsetext(pages, url, name);
});
},
这对大多数文本内容非常有效。非常烦人的问题是,对于某个部分,内容混淆了。当gettext
函数到达 beschreibung 部分时,会记录以下内容:
这里发生了一件奇怪的事情: beschreibung 部分正在文本末尾被提取,即使它只是另一列,如 kks 或 seite 。如果它保留了正确的顺序,我可以使用它,但正如你在下面看到的那样,它没有。
Data.vue?1e15:250 item string: 12
Data.vue?1e15:250 item string: MA-KF12
Data.vue?1e15:250 item string: 26
Data.vue?1e15:250 item string: MA-KF12
Data.vue?1e15:250 item string: 33
Data.vue?1e15:250 item string: MA-KF12
Data.vue?1e15:250 item string: 44
Data.vue?1e15:250 item string: MA-KF12
Data.vue?1e15:250 item string: 82
Data.vue?1e15:250 item string: Inbetriebnahme
2Data.vue?1e15:250 item string: Anhang
Data.vue?1e15:250 item string: Vorwort
Data.vue?1e15:250 item string: Produktübersicht
Data.vue?1e15:250 item string: Grundlagen der Kommunikation
Data.vue?1e15:250 item string: Montage und Verdrahtung
Data.vue?1e15:250 item string: Vorwort
Data.vue?1e15:250 item string: Produktübersicht
Data.vue?1e15:250 item string: Grundlagen der Kommunikation
Data.vue?1e15:250 item string: Montage und Verdrahtung
Data.vue?1e15:250 item string: Inbetriebnahme
Data.vue?1e15:250 item string: Produktübersicht
Data.vue?1e15:250 item string: Grundlagen der Kommunikation
Data.vue?1e15:250 item string: Montage und Verdrahtung
Data.vue?1e15:250 item string: Inbetriebnahme
Data.vue?1e15:250 item string: Anhang
Data.vue?1e15:250 item string: Produktdaten
Data.vue?1e15:250 item string: Dokumentation
Data.vue?1e15:250 item string: Beschreibung
Data.vue?1e15:250 item string: Vorwort
正如您所看到的,订单已关闭(但只是轻微......)
任何想法可能会出错?