我正在下载文件,并尝试读取文件内容,这是项目功能的一部分。当我阅读下面的.text文件时,代码工作正常。但是对于.pdf,它不起作用。
service.ts
saveFile(response, filename) {
const blob = new Blob([response], { type: 'application/pdf' });
const fileReader = new FileReader();
fileReader.onload = (e) => {
console.log(fileReader.result);
}
fileReader.readAsText(blob);
var result = filename.match('.pdf');
if (result) {
var blobURL = URL.createObjectURL(blob);
window.open(blobURL);
} else {
saveAs(blob, filename);
}
}
答案 0 :(得分:0)
通常情况下,默认情况下您无法查看pdf的内容,因此您需要添加一些第三方lib来阅读其内容
检查此软件包pdfreader
示例:
var fs = require("fs");
fs.readFile("sample.pdf", (err, pdfBuffer) => {
// pdfBuffer contains the file content
new PdfReader().parseBuffer(pdfBuffer, function(err, item) {
if (err) callback(err);
else if (!item) callback();
else if (item.text) console.log(item.text);
});
});
或
{{1}}
答案 1 :(得分:0)
在加载了大量选项之后,下面是我创建的用于读取pdf,doc和docx文件的代码模块。该模块还提供文件扩展名。将来,我将使其成为功能齐全的库,以读取所有类型的文档,只需传递文件名即可返回文本。
https://github.com/bpandey3/fileparser/blob/master/utils/passfileReader.js
Dev依赖项