错误类型:worker.load不是一个函数
P粉937769356
2023-09-01 18:33:44
<p>当我想从PDF或图像文件中提取文本时,我使用vue.js和nuxt.js。但似乎不起作用。我不知道为什么。
这是我第一次提问,如果你需要更多信息,请随时问我。我被这个错误困扰了4天T^T。我真的需要帮助。</p>
<p>我试图修复这个错误。我只想修复错误。</p>
<p>
<pre class="brush:js;toolbar:false;">async parseFile() {
if (this.uploadedFile) {
const fileType = this.getFileType(this.uploadedFile.name);
if (fileType === "image") {
const worker = createWorker();
await worker.load();
await worker.loadLanguage("eng");
await worker.initialize("eng");
const {
data: { text },
} = await worker.recognize(this.uploadedFile);
console.log(text);
await worker.terminate();
} else if (fileType === "pdf") {
const fileReader = new FileReader();
fileReader.onload = async () => {
const typedArray = new Uint8Array(fileReader.result);
const pdf = await pdfjsLib.getDocument(typedArray).promise;
const numPages = pdf.numPages;
let pdfText = "";
for (let i = 1; i <= numPages; i++) {
const page = await pdf.getPage(i);
const content = await page.getTextContent();
const pageText = content.items.map((item) => item.str).join(" ");
pdfText += pageText + "\n";
}
console.log(pdfText);
};
fileReader.readAsArrayBuffer(this.uploadedFile);
}</pre>
</p>
只是一个建议, 检查一下createWorker()函数是否没有正确导入,或者你使用的库是否有问题, 还要检查一下是否已经安装了必要的依赖项