我怎麼能手動解析PDF文檔到使用JavaScript的話陣列。我不關心圖像,數字,表格 - 只有單詞,因爲我可以將它用作JavaScript對象。如何?解析器PDF到JavaScript數組?
2
A
回答
0
假設你已經有PDF格式的內容,你可以下載pdftotext和:
功能應用(){ VAR 自我=這一點; this.complete = 0;
this.pdfToText = function(data){
// render the first pages
var pdf = new PDFJS.PDFDoc(data);
var total = pdf.numPages;
for (i = 1; i <= total; i++){
var page = pdf.getPage(i);
var canvas = document.createElement('canvas');
canvas.id = 'page' + i;
canvas.mozOpaque = true;
div.appendChild(canvas);
canvas.width = page.width;
canvas.height = page.height;
var context = canvas.getContext('2d');
context.save();
context.fillStyle = 'rgb(255, 255, 255)';
context.fillRect(0, 0, canvas.width, canvas.height);
context.restore();
self.setMessage("Rendering...");
var textLayer = document.createElement('div');
textLayer.className = 'textLayer';
document.body.appendChild(textLayer);
page.startRendering(context, function(){
if (++self.complete == total){
self.setMessage("Finished rendering. Extracting text...");
window.setTimeout(function(){
var layers = [];
var nodes = document.querySelectorAll(".textLayer > div");
for (var j = 0; j < nodes.length; j++){
layers.push(nodes[j].textContent + "\n");
}
self.sendOutput(layers.join("\n"));
self.setMessage("Done!");
}, 1000);
}
}, textLayer);
}
};
}
this.receiveInput = function(event){
if (event.source != parent) return;
if (!event.data.byteLength) return alert("The PDF data needs to be an ArrayBuffer");
self.setMessage("Received data");
self.pdfToText(event.data);
}
this.sendOutput = function(text){
var recipient = parent.postMessage ? parent : (parent.document.postMessage ? parent.document : undefined);
recipient.postMessage(text, "*");
};
this.setMessage = function(text){
text = text.split(' ');
console.log(text);
}
window.addEventListener("message", self.receiveInput, true);
self.setMessage("Ready");
self.sendOutput("ready");
,讓你輸入的onchange
App()
。
DEMO (doesn't work in some browsers) 這將從PDF中記錄單詞數組(含標點符號)。
+0
東西我沒有采取文件的文字( –
0
有一個稱爲jspdf一個衆所周知的JavaScript庫。它的getTextContent()
函數在你的情況下會非常有用。看看這兩個例子:
https://stackoverflow.com/a/20522307/2117492,
https://groups.google.com/d/msg/mozilla.dev.pdf-js/Qzq-xA2MHjs/nmlpttSIJcsJ
0
使用pdf.js,我這樣做:
var pdf = require("pdf.js");
PDFJS.getDocument('document.pdf').then(function(pdf){
pdf.getPage(1).then(function(page){
page.getTextContent().then(function(txt){
var arrayOfText = items.map(function(item){
return item.str;
});
});
});
});
相關問題
- 1. ReactJS + javascript:如何解析數組到一個新的數組?
- 2. Javascript數組解析
- 3. 解析Javascript數組
- 4. 解析Javascript數組
- 5. 如何解析JavaScript中的JSON數組?
- 6. 如何解析Javascript中的Json數組?
- 7. 如何解析這個javascript數組?
- 8. Php - pdf解析器
- 9. 解析和過濾器的JavaScript數組
- 10. 如何解析列數據到數組?
- 11. 解析頁面div到數組中JavaScript
- 12. 解析PDF文檔的JavaScript
- 13. Javascript文本數組解析
- 14. 解析PHP數組在JavaScript
- 15. JavaScript的解析數組android?
- 16. JavaScript數組解析匹配
- 17. 如何解析數組到日期?
- 18. 如何解析數組到MYSQL IN()?
- 19. 如何解析字符串到數組
- 20. 如何解析_data到數組?
- 21. JavaScript如何解析數字?
- 22. 如何將JavaScript多維數組解析爲c#數組? JavaScript數組的
- 23. 如何解析Javascript數組到C#列表/字典
- 24. iOS PDF到純文本解析器
- 25. 如何解析JavaScript數組並放入c#數組?
- 26. 如何使用jquery將json數組解析爲javascript數組?
- 27. $ .parseJSON()如何解析數組?
- 28. 如何解析JSON數組?
- 29. 如何解析json數組?
- 30. 如何解析JS數組?
要那樣做服務器端或客戶端?如果客戶端,你如何收到文件?沒有跨域問題? –
是,客戶端) –
@RuzelDavletyarov你已經在你的網站上的PDF文件,還是用戶上傳嗎? – Cilan