使用pdf.js,我制作了一个简单的函数来从 pdf 中提取原始文本:
async getPdfText(path){
const pdf = await PDFJS.getDocument(path);
const pagePromises = [];
for (let j = 1; j <= pdf.numPages; j++) {
const page = pdf.getPage(j);
pagePromises.push(page.then((page) => {
const textContent = page.getTextContent();
return textContent.then((text) => {
return text.items.map((s) => s.str).join('');
});
}));
}
const texts = await Promise.all(pagePromises);
return texts.join('');
}
// usage
getPdfText("C:\\my.pdf").then((text) => { console.log(text); });
但是我找不到正确提取新行的方法,所有文本仅在一行中提取。
如何正确提取文本?我想以与台式电脑相同的方式提取文本:
打开pdf(双击文件)->选择所有文本(CTRL + A)->复制所选文本(CTRL + C)->粘贴复制的文本(CTRL + V)